Add initial support for views

This is a basic working implementation. However, it lacks support for
metadata queries in Presto (the connector support is already in place).
IIRC, David tried to implement that, but it was too difficult with the current codebase, so he instead took the path of storing the names and types of the output columns and verifying that they did not change between storage and use of the view.  It is not the same, but should catch most changes in the underlying table.