Add support for specifying return type of searches

Ability to map to different return type (or a JObject) for raw results.

    x.Search<U, V>(d => d.Index("logpipe-2013").Type("iis").Fields(u => u.Timestamp).MatchAll());
    x.Search<U, JObject>(d => d.Index("logpipe-2013").Type("iis").Fields(u => u.Timestamp).MatchAll());