Simplify state management within ElasticSearch ext

Rather than explicitly looking up the app within the ElasticSearch Flask
extension, we can lean more heavily on Flask, and just use current_app
to do this.

We also ensure that a connection instance is bound to a given context,
and is memoised for the duration of the context's life. This means that
connection pooling within the connection class is respected, and we
don't open a new TCP connection every time we call es.conn.
Support for Elasticsearch 1.0

This commit updates the annotator.elasticsearch.ElasticSearch Flask
extension to provide support for Elasticsearch 1.0 through use of the
recently-released official client[1] in preference to pyes.

[1]: http://www.elasticsearch.org/blog/unleash-the-clients-ruby-python-php-perl/