Implement \ArrayAccess on Elastica\ResultSet

To ease customization and access to the Results,
we can now get and edit the results manually in an array style syntax.

My use-case for this is that I sometime wants to edit the Result objects in my ResultSet (like data transformation before passing them to my controller). As the `Result` object is not editable (there is no `setHit` method), I want to replace it with a new object after edit. 

I'm not sure about offsetUnset and new item creation via offsetSet, 
maybe it should just throw an Exception to keep the consistency of the ResultSet?