TestFreakishVerbs: Add more helpful contexts for assertions
Remove stray byebug
rm calls to set_as_defective

There was some weird action-at-a-distance going on
with the setting of the classifcation on the verb.
Now classifications are set *once* by the
classifier.

**THE ONLY EXCEPTION** is for irregular,
present-only verbs.  These are a huge, glaring
exception in the language.

Here, the classifier does as expected and returns
that it is an Irregular verb (true) and
consequently the mutator for Irregular is chosen
(correctly).  As part of the `mutate!` function,
the present-only-and-irregular verb has its
classification overridden to be PresentOnly.  The
`PresentOnlyIrregularMask` bears the responsbility
of performing that mutation.

Conflicts:

	lib/latinverb/tense_method_applicator.rb
LatinVerbClassifier#classification: refactor pseudo-case statement smell

Replace type checking and branching with
polymorphism.
LatinVerbTypeEvaluator: Get the type, not the evaulator
Refactor PrincipalPartsExtractor
Add guard clauses to DeponentStringDeriver
Change key for lookup calculation
migrate stem calculation out of prin parts extractor
rm dead methods
TypeEvaluator to use similar interface as other components
Move common interface using components
Formatting cleanup
Add comment to re: type v. classification
Extract methods on Stem Deriver
Extract method, simplify, use Forwardable in LatinVerbTypeEvaluator
Extract method, use Forwardable in Participler
Extract method, use Forwardable in Infinitivizer
Extract method, use Forwardable
Refactor TenseMethodApplicator

1.  Change implementation of `DefectiveChecker`:
prefer classes to module
1.  Extract `MutatorForVerbType` and
`TenseMethodsVectorizer`
1.  Simplify, cleanup, shorten, remove
boilerplate, etc.