API Change how facets are managed in queries

* Added application of facet information to the query builder object instead
  of requiring it to be a custom process
* Made the query set*/add*() methods more fluent
* Renamed some methods in SolrSearchService to be more self-commenting