Implement SOLR terms operation

* VuFindSearch/Backend/Solr/Response/Json/Terms.php: New
  class. SOLR term component output.
* VuFindSearch/Backend/Solr/Backend.php (terms): New
  function. Return list of terms.
* VuFindSearch/Backend/Solr/Connector.php (getTerms): Removed.
  (query): Declare public. To be called by Backend.
Log SOLR query time

* VuFindSearch/Backend/Solr/Backend.php (deserialize): Log SOLR query
  time.
Fix variable name clash.

* VuFind/Search/Listener/MultiIndexListener.php (getFields): Fix
  variable name clash.
Change MultiIndexListener implementation

* VuFind/Search/Listener/MultiIndexListener.php ($available):
  Removed. Replaced by $shards.
  ($shards): New property. Available shards.
  ($active): Removed.
  (__construct): Set new property.
  (setActiveShards): Removed.
  (onSearchPre): Read selected shards from shards parameter.
  (getFields): Use shard URI to check for strip fields.

Picks up the selected shards from the `shards' search parameter.
Make NamedList countable.
Use new search backend for sitemap generation.
Some refactoring to simplify the generate() method.
Implemented AlphaBrowse in search backend.
Eliminated \VuFind\Exception\Solr class (no longer needed).
Updated integration tests to better namespace and to use new search backend.
Comments related to prepare() in terms/alphaBrowse.