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
I've never actually used the `ast` module.  My interpretation of this was that it would transform a term that parsed as a string, like `"Alice"` and turn it into a `ScalarSymbol`, rather than just return the raw string `"Alice"`.