Implement a scalar expression parser

closes #395

This will fail until the `py.test` PR (#384) goes in

- [ ] string tests
- [x] failing (they should) chained comparison tests
What is the behavior of `name == "Alice"` .  Ideally this would become `ScalarSymbol('name', dtype=...) == "Alice"`