add #empty? to OpenStructWithHashAccess
Add i18n lookup for index, show and facet field labels

Field labels should be retrieved by:

 - if the configured label is a symbol, use it as the i18n key
 - try to look up i18n strings for:
     blacklight.search.fields.{index,show,facet}.{name-of-field}
     blacklight.search.fields.{name-of-field}
- use the configured label
Add support for dynamic field configuration for index, show and facet
fields, allowing configurations like:

```ruby
config.add_facet_field '*_facet'
config.add_show_field '*_display'
config.add_index_field 'title_*'
```
Field configuration that accepts multiple inputs (e.g. arrays and wildcards) should yield each field to a provided block