start all() implementation

Implements a proxy-like `all()` and `getAll()` method.
Yeah yeah I Know, it's even in the readme. I do think your point about not returning `$` is right tho, I have been on the fence about it since inception (that some operations could modify the `q` while not returning it). Lemme do this, abstract that logic into a helper that they can all use and drop it into core maybe. I'll look at that today