Add support for external Solr instance

This is experimental, although important for certain deployment types
(larger installations, vendor installations, or where there is an
existing Solr infrastructure in place) and therefore would be great
to have for the next release.

The modularity of ArchivesSpace is compromised by how the indexer
and Solr are coupled together in the launcher script. The indexer
can run from anywhere it can access the backend and Solr over http
so it's limiting to have them instantiated together (and somewhat
misleading to have the indexer tucked away behind solr_url).

By starting the indexer and Solr separately, and making it possible
to disable the provided Solr an external instance can be used with
minimal configuration changes (provided Solr is configured
appropriately). For example:

```
AppConfig[:enable_solr] = false
AppConfig[:solr_url] = "http://solr.somewhere.org:8983/solr/archivesspace"
```

To make this work Solr requests in ArchivesSpace have been modified to
retain the URI path of the solr url (so in the above example
"solr/archivesspace" is appended or concatenated before the handler,
such as "/select").

A build for anyone interested is available at:

https://dl.dropboxusercontent.com/u/870845/apps/archivesspace-external-solr.zip

Also there is an Ansible playbook for testing:

https://github.com/mark-cooper/archivesspace-solr-playbook
adding multiple merge
when creating an agent, ensure_existing checks name authority_id's for possible established authority records.
adding tweaks to EAD mappings to include agent/name authority ids. and tests
minor spec changes
make sure EAD exporter doesn't add @id when it's not needed
making subject source required
more tweaks for EAD error output
Merge branch 'merge_ui'
Array wrapping merge victims uris
removing ability to change short_name of user accounts
update to wrap+tag definitions. removing lb and p
Merge pull request #88 from mark-cooper/decouple_indexer_solr

Add support for external Solr instance