Add Reverse Nested aggregation.
Merge pull request #642 from rayward/reverse-nested

Add Reverse Nested aggregation.
Fix '0' as valid request data

`Index->analyze('0', array('analyzer' => 'language_query_analyzer'))` would throw an `ElasticsearchIllegalArgumentException[text is missing]` because the request data is not passed.
Fix '0' for Guzzle Transport
Ignore empty array
Ignore empty array on guzzle
use different comparison
add test for post with 0 body