added a bunch more tests, and a new way to write simple unit tests.
made rolling back on experimental parsing a 'with' block, plus a bunch
of other minor fixes.