Refactor _field_descriptors.

Use an OrderedDict to store _field_descriptors so that _fields is no longer
needed.
Remove unused local variable.
Refactor to use set_field_attr method.