Add input_transformer plugin, for automatically transform input to model column setters

This is a generalization of the string_stripper plugin, allowing
arbitrary transformations.

In addition to adding the input_transformer plugin, this also
reimplements string_stripper using input_transformer.
Don't override touch_associations if loading touch plugin into subclass
Handle aliased tables in the pg_row plugin
Delete some dead code in the core_refinements spec
Remove some duplicate specs
Fix errors in spec descriptions, other minor spec changes
Refactor association_autoreloading plugin

The previous behavior was probably a little faster, since it didn't
affect non-foreign key columns at all, but it was significantly more
complex and could have issues with module load order if set_dataset
was called after the first many_to_one association was defined in
the model.
Add specs for Sequel::Plugins metaprogramming methods
Support :hash_dup and Proc Model inherited instance variable types

This types aren't used by the default model code, but are
pretty useful to DRY up code in some plugins.  Now, only plugins
that actually need to run code upon subclassing override
inherited.  All plugins that just copy data on subclassing can
use Plugins.inherited_instance_variables.
Make Model.map, .to_hash, and .to_hash_groups work without a query when using the static_cache plugin

Previously, only the map and to_hash without argument cases were
optimized.  This basically copies the implementation from the
dataset code, with a minor tweak for dealing with model objects.
Copy validations into subclass instead of recursing into superclass when validating in validation_class_methods
Remove class-specific validations mutex from validation_class_methods

The global mutex should be sufficient, since it is used when
validations are added, not when they are iterated over.