Add validates_schema_type validation to validation_class_methods

This mirrors the validates_schema_types validation in
validation_helpers.
Recommend validates_schema_types instead of validates_not_string
Add validates_not_null to validation_helpers

The validates_presence validation, while similar, will flag stuff
other than just NULL values (such as empty values).  There are
cases where you want only NULL values flagged, and this validation
exists for those cases.
Fix auto_validations to handle empty values correctly

auto_validations should mirror the database's constraints.  Just
because there is a NOT NULL constraint on the column does not
mean that values such as empty strings are not allowed.  The
constraint_validation extension/plugin can be used to handle
the case where you want to automatically disallow empty strings.