Refactor lookup of solr fields Fixes #605

Also split SolrService into 3 separate modules.
It's not clear to me what function the comments on lines 22 and 23 serve. Are they useful to keep around?