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
added missing used_in_bytes property on NodeStats (ty @NickCraver for pinging me on twitter)
Merge branch 'master' of github.com:Mpdreamz/NEST
Fix ClusterState API to have Mappings also.

Return type mapping as a dictionary of the typename followed by the mapping as "dynamic" object.
Merge pull request #341 from ashwinsa/master

Fix for issue #340 https://github.com/Mpdreamz/NEST/issues/340
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
default max connections set to 0, placed async outside of semaphore if max conn is 0
removed tmp program left over from local async branch merge