Move ResultSet creation to the Client

FOSElasticaBundle needs to override the Result object to provide additional methods. Without this change, it means we need to override many more methods in the Index and Type classes, and I'd prefer to support consumption of Elastica without making users use our Index/Type objects.

I wish to add a method, getTransformed() to the result which will lazily transform an entire ResultSet when accessed, allowing us to remain much closer to the Elastica API rather than providing our own.
Please use $_class for protected variables.