parameter checking

Update TermGroup.pm to use Class::Tiny to reduce boilerplate, and then
add and test input checking for the allowed values of status and part
of speech. Test both setters and constructors. Also check for legal
directionality values in Min.pm.

Tests began failing because basic.tbx had an illegal picklist value.
Fix this, making tests pass and closing issue #2.