allow iteration of hits with access to source and explanation

This is an attempt to implement issue #106 
It will allow the client to access the source and explanation without Jest needing a dependency to lucene.

```
JestResult result = client.execute(search);
List<JestSearchHit> hits = result.getHits().getHits();
for (JestSearchHit jr : hits) {
	MyType mt = jr.getSource(MyType.class);
	Explanation e = jr.getExplanation(Explanation.class);
}
```