Manager attaches itself to queries so they can run directly

It seems unnecessary that we have to feed a query that we got from a Manager back into that Manager to run it. With this change, a Query object retrieved from Manager.init_query() has a reference to the Manager and can be run with a call to perform(), like so:

````
manager = Manager(datastore, model=User)
manager.init_query(name='John').perform()
````

It can still also be run directly on the datastore, since it merely extends Query.