essentially copied the Lucene functionality with a few distinct changes in how the documents are managed. This was done in a seperate Synthesis.Solr project to avoid a dependency on solr in the main area of Synthesis. Additionally I've modified the search unit tests so that Lucene and Solr share tests. I believe there are differences in how sitecore sets up the fields in Solr vs Lucene, so some of the unit tests are failing due to unexpected results. Also i changed how the search DateTimeField is acquired since the unit tests were throwing exceptions, this will need review.
From @JeffDarchuk on the Original PR: