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.
You're using `select` here, but then treating it like `each`. I think `select` is probably the right thing to do, along the lines of:

```ruby
def schema_get_expandable_fields(document)
  schema(document)
    .fetch("properties", {})
    .select { |_, value|
      value.fetch("details", {}).fetch("allowed_values", []).any?
    }
    .keys
end
```