Add a compliance test runner

This makes it possible for other implementations to run tests
against the compliance tests in this repo.  All you need is
an executable that takes the expression as a command line argument
and the data on stdin.
Update jp so we can actually pass the compliance tests

Mostly related to OrderedDict changes and printing
the proper error messages.