Merge pull request #17 from velour/dev/eaburns

Add the rest of the parser productions
Make tests fail on overly-optionalized semicolons.

Also, add tests that should pass with correctly-optionalized
semicolons.
Only optionalize semicolons immediately before a delimiter.

Other semicolons are required.