Extract methods in Main for clarity
Add ElasticSearch connection initialization

Tries to connect with ElasticSearch cluster 'elasticsearch' on startup.
IngestWorker infrastructure for basic indexing

Retrieves ActiveMQ messages from Fedora server, collects them and
bulk-indexes newly ingested objects. Extracts index date from QUCOSA-XML
datastream dissemination and sends it to ElasticSearch cluster (push
approach).

Note: Not everything gets imported correctly yet. Looks like there are
data extraction issues with some documents.

Note: Using pull approach via ElasticSearch River Plugin might be a
leaner solution as we don't have to support so much Java boilerplate.
Instead, there could be a generic FedoraRiver Plugin, indexing
datastream disseminations, configured via XSL stylesheets.

Q1: How to implement OAI harvesting component to avoid missing
Ingest or Update operations and for initial indexing?

Q2: How to trigger individual re-indexing runs?

Q3: How to handle indexing errors? Save them to the index in special
error state?

Worklog (what happened so far and has been squashed away):

- Setup IngestWorker with FedoraClient and ElasticSearch Client
- Name JobDispatcher thread for better logging
- Terminate ActiveMQ connection last
- Use simple field mapping for data extraction
- Extracting more fields
- Support cardinality > 1
- Send document to index
- Wait for ActiveMQ connection on startup
- Component version update
- Disable durable topic consuming
- Remove Fedora call from IngestWorker initialization
- Remove use of internal NodeListIterator class
- Add default logback config
- Hardening startup
- Add XML dump for debugging
- More subject tag extraction
- Remove comments
- Add missing test XML
- Fix Document indexing
- Cleanup
- Connect to remote ElasticSearch cluster
- Introduce ElasticSearch host parameter
- Fix and enhance mapping
- Better error handling and reporting
- Use native Logger formatting
- Refactor bootstrapping
- Formatting debugging output
- Fix invalid JSON generation in error case
- Fix empty field indexing
Merge branch 'elasticsearch'