Normalize for spacing and upper/lowercase in CQL completions

Highlights:

  * Split the various helper functions into a separate module for easier testing.
  * Completions go through case and whitespace normalization.

The new tests in `query-completion-test.js` should give you a sense of the completions this enables.
Added a comment here, too. Removing the trailing whitespace does make a lot of the completion tests fail, so I think it's important. These functions are definitely a bit specific -- they're mainly exported for testing purposes, I would have preferred to keep them hidden in the completion module.