Add support for specifying return type of searches

Ability to map to different return type or to 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()
    );