Visual query builder

Still working on:

* Docstrings/better variable names
* Precompute compatibility
* Adding a setting to disable pycode altogether
@lydiagu is right that formally in databases, queries/query plans are trees, which suggests that the stream_name is just one leaf on one of the branches of the tree.  if it's not crazy to push it into the query, i'd do it.  if it is crazy, throw a TODO in there to change this once we add joins.