Replace NotImplementedErrors with ValueErrors
add failing views test
don't except bottom_up on typeerror
compute: explicitly check optimize_ is truthy

Previous reliance on exceptions hid errors
sql: field on aliased table
sql: by aliases table if it finds other groupby term
sql: by alias tests pass
sql: dshape to sqlalchemy table function
expr: join on single column
wip - compute sql join on single column
sql: alias joins on group bys
expr: join raises error if no columns
sql: more exhaustive testing around views
expr: join check on_left, on_right before checking types
sql: Projection uses inner_columns
sql: count on select depends on nested queries
Merge pull request #860 from mrocklin/sql-aliased-views

SQL nested queries