Associate a debug_info field with unnamed column references
Pass along field name when converting to an unnamed ref
Rename exception for accessing a non-grouped term in an aggregate
UnnamedAttributeRef: restore $ for position
remove unused code from language

Note that unnamed does not make sense here, really, I think we
want expression.to_unnamed_recursive in most cases.
remove language.operators

totally unused and incomplete/out-of-date
pseudocodelang: remove
remove more unused code
algebra: fixup missing num_tuples functions
catalog: add missing function
algebra: num_tuples fixups some more
test_style: add pylint and move output to test failure
ExpressionVisitor: new-style classes

Must extend object if not something else
datalog.model: resolve ambiguous naming

We shouldn't use the module name and variable name as the same name!
raco: fix docstring project-wide

use double, not single-quotes in triple-escape mode.
compile.py: remove fraudulent #  noqa
scheme: implement __ne__

scheme != scheme should be the same as !(scheme == scheme)
rules: add RemoveNoOpApply that removes no-op Apply

A a rule to remove Apply that have no effect on the tuples they pass. We
add these in order to use PushApply and RemoveUnusedGroupBy, but once
their work is done we we want to remove them.

Use it in MyriaLDTreeAlgebra and also add tests. (Note that many of the
existing tests effectively also test this rule, so I only added a two
trivial tests.)
rules.PushApply: remove TODO
utility: add str_list and str_list_inner helpers

These convert lists to string using str, instead of repr, for the member objects. The
_inner variant does not append the brackets, as this is widely used in operator shortStr function.