VIVO-742 Create the interfaces for Application and SearchEngine

Also some stubs for unit tests.
VIVO-742 Base and Solr Implementations of SearchEngine
VIVO-742 Create SearchEngineSetup and SearchIndexerSetup
VIVO-742 Change client code to use SearchEngine interface.

Removed SolrQueryTest until I can see how to update it. Everything compiles and tests run, but haven't tried running VIVO yet.
VIVO-742 Setup the Application properly, and guard against NPEs
VIVO-742 Many changes to remove "solr" from methods, variables, classes.
VIVO-742 Rename some 'solr' packages.
VIVO-742 Refine the search interface
VIVO-742 Many changes to remove "solr" from the code base.

Comments, template names, Java classes, variables and method names (Java and JavaScript), etc.
Merge branch 'feature/searchModule' into develop