Add a fake query and fake paged query for testing

Similar to the fake records, this provides fake alternatives to
the `Query` and `PagedQuery` objects. These are intended for
testing. They can be passed a simple collection of models and
will act like the real query or paged query objects. These can
be subbed in using stubbing to keep from expensive database
calls and setup.