This standard interface does the same thing as Query.parse did, with a
different API on the return value. It doesn't have the problems with
keys inherited from Object.prototype that Query.parse did.
Some files were omitted in the .eslintignore, left as an exercise to the
reader.
We probably want to reduce amount of globals overall and use proper es
modules.