Replaced async model with true async

Rewrote DoAsyncRequest to use real async web methods instead of starting
new tasks and allocating thread pool resources for waits and callbacks.
connection tests
manually added @henkish changes
Merge branch 'master' of github.com:henkish/NEST into async-connection-improvements

Conflicts:
	src/Nest/Domain/Connection/AsyncRequestOperation.cs
	src/Nest/Domain/Connection/Connection.cs
	src/Nest/Nest.csproj
removed max async on protocol load test connectionsettings
Merge branch 'async-connection-improvements'
Merge branch 'master' of github.com:Mpdreamz/NEST