Visual query builder

Still working on:

* Docstrings/better variable names
* Precompute compatibility
* Adding a setting to disable pycode altogether
I'm not sure I understand. If your claim was that `arg` was used all over the place then I think it has been removed in a lot of other places, but I do think `arg` makes sense here since I am iterating through the function args.