Feature queryjs

This PR adds some features to `Query.js`.

The source branch will continue to live, as we need to enhance Query.
We just merge it in order to let others work with it.