Refactor lookup of solr fields Fixes #605

Also split SolrService into 3 separate modules.