several small expr scalar changes

Column has scalar_symbol property that we use for consistent creation
Important because we sometimes subs

prefer __str__ over eval_str in Symbols

Use single ScalarSymbol, rather than NumberSymbol

Negation operator
add != <= >= operators to Boolean Interface
fix typo in NumberInterface.__sub__
add tests
Neg dshape
expr: support intersection of math and numpy libraries