Add the ability to retrieve fields from field data

Adds a new FetchSubPhase, FieldDataFieldsFetchSubPhase, which loads the
field data cache for a field and returns an array of values for the
field.

Also removes a `doc['<field>']` workaround no longer needed in field
name resolving.

Closes #4492