Implement a scalar expression parser

closes #395

This will fail until the `py.test` PR (#384) goes in

- [ ] string tests
- [ ] failing (they should) chained comparison tests
this makes no sense i'm not sure why i typed this as `string`