Expand specialist document metadata from schema

When requesting extra fields such as case_type, we want to look up the label in the schema. This commit does that by passing around the index mappings, getting the extra fields and looking them up in the relevant schema. `allowed_return_fields` now returns the array `ALLOWED_RETURN_FIELDS` and the ones in the schema.
This is probably something for moving them out into a `Schema` object.