Extract SolrRepository class to handle communication with Solr

Extract `Blacklight::SolrRepository` out of `Blacklight::SolrHelper` for handling interaction with Solr. Also, extract the query building parts of `SolrHelper` into `Blacklight::RequestBuilders` so all the solr parameter generation happens in the same place. 
Could we call this just `repository`? Then we could swap in a different sort of search engine like Sphinx ;)