Changed QuerySetMock so that the iterator generating methods return a reference to the mock object instead of a generator object. This was we can chain function calls such as mock.all().filter() while retaining the iterator functionality of the returned objects