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. 
Is that beyond the scope of what you want to put in this PR?