Remove write operations from VuFinSearch/Service

* VuFindSearch/Service.php (update, deleteAll, delete): Removed.
Change WritableBackendInterface, allow array of identifiers

* VuFindSearch/Backend/Feature/WritableBackendInterface.php
  (delete): Allow array of identifiers.
Solr/Backend implements WritableBackendInterface
Fix typo in writable backend interface name

writeable vs. writable
Don't inherit from BackendInterface

* VuFindSearch/Backend/Feature/WritableBackendInterface.php: Don't
  inherit from BackendInterface.
Solr/Backend implements WritableBackendInterface
Merge branch 'search-refactor' of ssh://vufind.git.sourceforge.net/gitroot/vufind/vufind into search-refactor

Conflicts:
	module/VuFindSearch/src/VuFindSearch/Service.php
Fix offset <-> pointer logic in AbstractRecordCollection

* VuFindSearch/Response/AbstractRecordCollection.php ($offset):
  New property. Offset in complete result list.
  (first): Select first record based on pointer, not offset.
  (key): Return position in complete result set as iterator key.

Internally records are stored and accessed via a zero-based pointer,
offset in complete result set is iterator key.
Expose and retrieve specific Backends via BackendManager

* ../themes/root/theme.config.php: Retrieve WorldCat backend via BackendManager.
* VuFind/Bootstrapper.php (initSearch): Retrieve BackendManager
  via ServiceManager.
* ../config/module.config.php: Defined factory function for BackendManager.
* VuFind/Search/BackendManager.php (get): New method. Return named backend.
  (has): New method. Check for named backend.
* VuFindSearch/Service.php (getBackend): Removed.
Add unit tests for BackendManager