Implement a scalar expression parser

closes #395

~~This will fail until the `py.test` PR (#384) goes in~~

- [x] simple number tests
- [x] python3 parses expressions like `-1` different than python2 need to investigate
- [x] string tests
- [x] failing (they should) chained comparison tests
We could also just rename these directly if these are the more standard names.