move unit specs to spec/unit subdirectory
add integration spec for defining a katuv DSL
convert string-errors to proper exception classes in dsl.rb
move exceptions into DSL module, be more explicit in integration spec
test a failure condition around overspecifying terminals