Improve Elasticsearch initialization

Improve the way that Elasticsearch is initailized in a couple ways:

- Take the analysis settings from the classes the same way that the
  mappings are taken.

- Merge mappings and analysis into the initial index creation. In this
  manner, the settings are only ever configured the first time through,
  which prevents the scary need to close the index and re-open it.

- Detect index already exists error more robustly.