A retry mechanism for sunspot

This is an attempt to bring this solution https://gist.github.com/nz/1132809
into the sunspot gem so that we don't have to violate the encapsulation of
the StandardSearch class. It's worth noting that this is the solution that
websolr is pointing their users to for solving the partial results issue.

I'm not entirely sure this is the correct way to go about this actually.
It seems like a session proxy would be "cleaner" but as mentioned the headers
that are needed to make the retry decision are internal to the search classes.

So this is just a RetrySearch class that is pretty much just like the
StandardSearch class only it retries if it gets the partialResults header from
solr.