basic parse tests working

Implement the most basic possible production parsing. This accepts
only productions such as `sp{name (state)-->}`, which is a minimal
real production.

Create ParseTest.java and a testdata directory to run data-driven tests
verifying that given productions parse or fail to parse as expected.
Test production names as a starter.

The parser input types was changed to unicode, since one of the tests is
unicode.

Update .gitignore so that test Java source files are not ignored
add structure testing

Add a way to test returned AST structure in a data-driven manner.
This required creating a new subclass of SimpleNode so that the
AST structure could be retrieved (`SimpleNode#dump(String)` prints to
`Standard.out` instead of returning anything), and so that it could be
made to include the node value. Test structure with a simple
`String.contains(String)` assertion. In the future, this would probably
be better done as a regular expression match, which is more flexibl.

Modify the jjt file to create a name entry in the AST and save the
value. Use this name structure to create a single structure test.
Added and populated TODO file