Fix asymmetric view of object fields

This adds an obj_fields property which returns a combined view of the
real field key names as well as the extra_fields. This will help
avoid bugs where we forget to consider extra_fields.

Change-Id: I93351ccc9f87817deca06e9a2d94f82a3dd5f51a
Closes-bug: 1223888