Fix all ChangeFields to properly handle null values

Many ChangeData methods can return null values, typically indicating
a change is corrupt. Handle these gracefully within ChangeFields by
just not emitting the field values.

Fix a few ChangeData methods to return null that were previously
throwing exceptions, for consistency.

Testing this is hard. We get a little coverage for missing patch sets
by trying to reindex the changes in CheckIT; unfortunately this won't
work for testing a missing change.

Change-Id: Ia9b2722bb07d0025ca45631648ef060ff5b4f117
6 files changed