Various cleanups

added final modifier where possible (thanks to intentions)
removed unused methods
suppressed generic varagrs warnings
change import of deprecated junit.framework.Assert.* to org.junit.Assert.*
Added more tests (including exceptions raising).

Also changed grammar - now `seq` regex rule use oneplus instead of many,
so empty regex considered illegal.