Add support for variables in SQL queries (#177)

Fixes #177:

1. Added variable to SQL grammar (:foo), along with tests; discovered boolean literal was missing and added it.
2. Support variable through all of semantic phases, but not in the logical plan compiler.
3. Add method to substitute variables based on type inference with fallback to "string inference" (generalized mapUp and other enhancements).
4. Revamped regression test to support variables, and added new regression test to verify variables work.
5. Added variable support to REPL.
6. Extracted out planner logic from backend and moved into planner.
7. Changed front-end query API to expect `Destination` header and use query parameters as query variables
8. Updated README to reflect new API changes.
I added unset for unsetting variables. I know you can't use a variable named debug, and I'd like another better way of setting log levels, but one didn't occur to me so I just preserved the old behavior for debug.