Objects should have a concrete list of their fields

Objects should have a concrete list of their fields in order to always be
able to know if a field is valid for an object, regardless of if the field
has had a value set for a particular instance.

Additionally, Objects now inherit fields from their super-classes, removing
the need for special casing RRDATA_FIELDS on RRData objects.

Change-Id: Iec62750453f8684201102f22e7bae736df6720a8
Merge "Objects should have a concrete list of their fields"