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
sql: alias selections before calling count
sql: Numeric -> float

This used to be marked as int, which is very wrong.
Marking this as float is only somewhat wrong, definitely less wrong.
sql: nelements diverts to count