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.
Merge pull request #18 from velour/dev/fix_semicolon

Fix semicolon optionalization. Fixes #16.