Provide more flexibility for deciding whether to render facet fields

Add configuration options to `add_facet_field 'field', :show => ` to
allow "run-time" configuration when the solr data and request context
are available, with a couple different options:

 - helper method (with no arguments), e.g.:

```
config.add_facet_field 'field', :show => :should_render_this_field?
...
\# helper
def should_render_this_field?
  current_user.admin?
end
```

 - helper method with the solr data, e.g.:

```
config.add_facet_field 'field', :show => :should_render_field?
...
\# helper
def should_render_field? display_field
  display_field.items.length > 1
end
```

 - inline Proc/lambda, e.g.:

```
config.add_facet_field 'field', :show => lambda { |ctx, facet_config,
display_field| true }
```

Fixes #717