Remove daemon-killing shutdown hooks in testing

the killAndUnregisterHook method modified in this commit didn't
actually unregister the hook.  Fixed.
Introduce alternative ES configuration options

Setting the new index.[X].elasticsearch.interface=NODE or
TRANSPORT_CLIENT option enables completely new Elasticsearch client
configuration and initialization logic.  Leaving this interface option
unspecified (the default) keeps the old config options and their
interpretations.

The new initialization logic highlights:

* Can include an elasticsearch configuration file with arbitrary ES
  settings, regardless of whether using TransportClient or Node

* Can set arbitrary ES settings inside the Titan config by using the
  index.[X].elasticsearch.ext. prefix,
  e.g. index.[X].elasticsearch.ext.node.data=false

* Can use Node with either network or local transport; no longer stuck
  with just local transport as under the old configuration system

This commit also adds a rudimentary test of the new configuration
system in a new test class.
Add test of ES conf-file option

Test current fails by triggering #720
Fix #720
Cleanup Closeable handling in ElasticSearchSetup