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
This is super-low-priority though :)  There are lots of other big fish to fry.