Geo bounds aggregation support

Closes #822
Remove unnecessary JsonObject attribute
Percentile ranks aggregation support

Closes #821
Partial implementation of the top hits aggregation

TODO: Still need to implement a top hits response object and handle
deserialization in the AggregationConverter class.
Fix type name for GeoShape mapping

Closes #925
Remove class/interface validation when retrieving type from ElasticType

Since #731, this was causing an ArgumentException to be thrown when
mapping generic objects with value type parameters (List<int>,
Dictionary<long, string>, etc..).  The check doesn't seem necessary since
ElasticTypeAttribute is already constained to classes at compile time.

Also cleaned up PropertyNameResolver a bit.

Closes #926
Merge pull request #929 from elasticsearch/fix/926

Remove class/interface validation when retrieving type from ElasticType
Merge pull request #923 from elasticsearch/feature/aggregations-percentile-ranks

Percentile ranks aggregation support
Add suport for the PUT alias endpoint
Include alias tests in project
BWC changes for PUT alias
Add support for the DELETE alias endpoint
BWC changes for DELETE alias
XML docs for alias methods
Merge remote-tracking branch 'origin/feature/aggregations-geo-bounds' into develop

Conflicts:
	src/Nest/DSL/Aggregations/AggregationDescriptor.cs
	src/Nest/Nest.csproj
	src/Tests/Nest.Tests.Integration/Aggregations/MetricAggregationTests.cs
fix #930 shard failures meta data are not exposed
Close #928 included unit test to showcase how to get the desired json from NEST
Merge pull request #933 from elasticsearch/feature/alias-endpoints

Support for PUT and DELETE alias
Adding key to a date range aggregation
Reverse nested aggregation support

Closes #828