added OIS for Alias()
added OIS for Scroll()
Refactoring due to OIS

while introducing more Object Initializer syntax api endpoints it
became clear all the base path descriptors need simplified versions too
which in turn meant that requestparameters and requestconfiguration needed
to be abstracted to interfaces as well.

Misc refactoring:
- Deserialization state now typed to Func<IElasticsearchResponse, Stream,
  object> instead of just object.
- no more seperate interface for request and connection settings merged
  into one
moved response handling into request state setresult funnel
refactorder transport to hold less state in method arguments, retried state completely owned by requeststate, more metadata about request
added support for .Metrics on ElasticsearchResponse returns information about the requests that were made (ping, sniff, retries, timings)
updated skip nodes test to also test the metrics returned
introduced variable to enable/disable metrics, defaults on in DEBUG
regrouped related files together in new namespaces (connection related)
generating OIS requestparams
generating request classes now much like we do descriptor classes
OIS versions of all the path descriptor base classes
GetAliases OIS
AnalyzeRequest OIS version
started on bulk OIS
Merge branch 'develop' into feature/object-initializer-syntax

Conflicts:
	src/CodeGeneration/CodeGeneration.LowLevelClient/CodeGeneration.LowLevelClient.csproj
	src/Nest/DSL/Bulk/BulkUpdateDescriptor.cs
	src/Nest/DSL/CountDescriptor.cs
	src/Nest/DSL/SearchDescriptor.cs
	src/Nest/DSL/_Descriptors.generated.cs
	src/Nest/Nest.csproj
	src/Tests/Nest.Tests.Unit/Core/Bulk/BulkTests.cs
	src/Tests/Nest.Tests.Unit/Core/Bulk/BulkUrlTests.cs
post merge fixes, fixed bulk operation unit tests
finished Bulk() OIS version
ClearCache OIS version
ClusterHealth OIS version