Version 3: Massive refactor

* Remove attrs whose values can be proxies
  into instances that are built into the
  `LatinVerb` class via composition.  There's
  no need for all that logic to be borne in
  the LatinVerb class
  * Adds: LatinVerbInputSanitizer: sanitizer used in LatinVerb.initialize
  * Adds: LatinVerbPPExtractor: principal part extractor used in LatinVerb.initialize
  * Adds: LatinVerbClassifier: qualify LV based on input
* Remove anti-pattern of using x.class
* Change `initialize`'s argument to be the
  more generic "data" versus `s` for `string`
* Improve raising of messages
  * Add helful raise when a tenseblock can't be found
  * Implement `respond_to_missing?` over other
    respond_to gymnastics.  Also, as a means for
    ensuring that we don't enter stack level too deep
    situations, we tighten the rules around
    respond_to_missing?`  The
    metaprogrammatically-generated methods must match
    the Regex && we must be able to invoke
    `instance_method` successfully.
    This either fails (which raises an error which
    breaks the infinite regress) or succeeds.  This
    addresses the case where the tense method and verb
    vector are correct but where due to bugs the
    actual methods are not defined.
* Creates a difference between classification and verb type
* rm auxiliary_classes file; break into unique classes
0.9.3 release
Rename 'chart' -> presenter

1.  Remove "chart" semantics, this is a presenter
1.  Use `Array#zip`, where applicable
1.  Add tests of the presenter
Version 3: Massive refactor

* Remove attrs whose values can be proxies
  into instances that are built into the
  `LatinVerb` class via composition.  There's
  no need for all that logic to be borne in
  the LatinVerb class
  * Adds: LatinVerbInputSanitizer: sanitizer used in LatinVerb.initialize
  * Adds: LatinVerbPPExtractor: principal part extractor used in LatinVerb.initialize
  * Adds: LatinVerbClassifier: qualify LV based on input
* Remove anti-pattern of using x.class
* Change `initialize`'s argument to be the
  more generic "data" versus `s` for `string`
* Improve raising of messages
  * Add helful raise when a tenseblock can't be found
  * Implement `respond_to_missing?` over other
    respond_to gymnastics.  Also, as a means for
    ensuring that we don't enter stack level too deep
    situations, we tighten the rules around
    respond_to_missing?`  The
    metaprogrammatically-generated methods must match
    the Regex && we must be able to invoke
    `instance_method` successfully.
    This either fails (which raises an error which
    breaks the infinite regress) or succeeds.  This
    addresses the case where the tense method and verb
    vector are correct but where due to bugs the
    actual methods are not defined.
* Creates a difference between classification and verb type
* rm auxiliary_classes file; break into unique classes
0.9.3 release
Rename 'chart' -> presenter

1.  Remove "chart" semantics, this is a presenter
1.  Use `Array#zip`, where applicable
1.  Add tests of the presenter
Add byebug support
Convert JSON.parse to JSON.load
BUG: LatinVerbTypeEvaluator: Add support for Irregular classification
Latinverb::Irregular: Correct import from JSON for irregular
Merge branch 'repair-failing-unit-tests'

Conflicts:
	Gemfile
	Gemfile.lock
	latinverb.gemspec
	lib/linguistics/latin/verb/classification_types.rb
	lib/linguistics/latin/verb/latinverb/irregular.rb
	lib/linguistics/latin/verb/latinverb/latin_verb_type_evaluator.rb
	lib/linguistics/latin/verb/tense_definitions/irregular.rb
Move Active Support dep to gemspec
Massive Refactor
Refactor Participle Block
Refactor Infinitive Block
Refactor ImperativeBlock
Remove Validation mixin (compose not mixin)
Delegate to participle-handling class
Delegated more methods
latinverb.rb: simplify initialization; delegate classified_as