Add lexing and parsing for selecting form multiple tables
Add compilation for table unions

We union the type contexts for two tables by keeping the first schema intact and
appending to the end any columns in table2 that aren't in table1. Also, it looks
like union results lose their fully-qualified column names, so I do that as
well.
Add evaluation for table unions

This gets a littly ugly because we need to ignore fully-qualified names when
appending to the result table, which feels like something that should be done in
the compilation step, but other than that, the code just needed a few new
relatively simple operations.