Implement a scalar expression parser

closes #395

This will fail until the `py.test` PR (#384) goes in