Expand `RelationSpy` with more query, spawn and finder methods

This adds more of ActiveRecord's query, spawn and finder methods.
This makes the spy more featureful and useful for testing.

This also removes `order_values` and `reverse_order_value` from
the spy. This was a short sighted addition as these require
double-managing the values and the applied expressions. Furthermore,
these methods seem to be intended as "private" or for internal
use only, as they require specific knowledge of how to set them
correctly. I'd rather not have the spy worry about managing both
ActiveRecord's hash of values and the spies list of applied
expressions.

The offset and limit values are preserved as we want to
use them in conjunction with the `all` method. Because of this,
they haved to be managed (particularly in the `except` and `only`
methods).