Make reachability.rb work

This change adds a few features:
- We now support keys/values in SQL tables (but we don't create the tables with these as keys yet)!
- We now support UPDATES instead of just INSERTS (view creation).
- Arrays in blocks may now include code that parses in ruby and is valid sql (e.g., "true") instead of just tab.col
- We now name all tables based on what they're named as in the ruby block
  + (nodes*edges).pairs {|n, e| blah} will name nodes n and edges e

TODOs:
- Add primary keys with CREATE TABLE
- Get rid of :update from collections/elements, turns out it's not needed...