[WIP] Query constructor API changes

I explained the reasoning behind this here in https://github.com/bjori/phongo/pull/12#discussion_r16569526, which is now hidden in the PR :)

One question I have for you is how would we like to throw exceptions in these functions. The `php_error_docref()` call for `filter` validation up top is fine (it's more of an assertion), but for these options I'd certainly like to throw exceptions.