TypeEvaluator: change type returned for deponents

A deponent verb is a **classification** its
**type** should still be something like "First" or
"ThirdIO".
Refactor PrincipalPartsExtractor
Add guard clauses to DeponentStringDeriver
migrate stem calculation out of prin parts extractor
LatinVerb: create stem_deriver in apply_parts_of_speech!

I'm trying to skinny up the methods called by
`initialize`.
Validator: Remove comments

Out of date.
StemDeriver: Refactor: Many method extractions

* Make `stem` a very simple method
* Add several methods to make that calculation's
  weight hide within the `private` macro
squash into previous lib/latinverb/components/type_evaluator
sq into prev participler
squash into infinitivizer
squash into imperatives handler
Refactor TenseMethodApplicator

1.  Change implementation of `DefectiveChecker`:
prefer classes to module
1.  Extract `MutatorForVerbType` and
`TenseMethodsVectorizer`
1.  Simplify, cleanup, shorten, remove
boilerplate, etc.
Remove calls to verbvector: much less metaprogramming magic now!
Remove LatinVerb#tense_list

It was a global function that was rarely used and,
when so, was used at a substantial remove from
where it was defined.  I don't mind repeating that
logic.  It's unlikely to change.
Pare down require statements