elasticsearch/elasticsearch-net — pull request #547 by Mpdreamz (2014-03-28 20:57:26+00:00)
Title: Feature/simplify iconnection

This is still a work in progress but resembles a second refactor pass on `IConnection` after @icanhasjonas excellent feedback on #537 and earlier by @synhershko on #522

* `IConnection` now only returns `ElasticsearchResponse`
* `IConnection` no longer in charged of deserialization, this is pushed back to `Transport` which is the coordinator between `IConnectionPool` and `IConnection` and already did the serialization.
* `` no longer leaks throughout all the components involved just to be able to deserialize in the deepest call in the stack.
* `IConnection` no longer in charge of shortcircuiting for `` `` or ignoring the stream completely for ``. A connection is now only in charge of returning a response stream and settings connection status data, it should not know more of the internals.
* As a result you can now do `client.Call()` and do as you please with it your on your own (but please Dispose() it!)
* If you do not specify a `Stream` return type Elasticsearch.Net still takes ownership of the Stream and disposes it properly.