Rename auto_validate_presence_columns to auto_validate_not_null_columns

As it does a not_null validation and not a presence validation, the
previous name was misleading.
Support :not_null=>:presence option for auto_validations plugin, for using presence validation for not null columns

While I don't think it is safe to use a presence validation
by default for NOT NULL columns, since it is overly restrictive,
it's probably a common user need, so adding an option for it
makes sense.
Validate against explicit nil values in NOT NULL columns with default values in the auto_validations plugin

If an explicit nil value is present in the values, then Sequel
will use an explicit NULL value when inserting the row, which
will cause a DatabaseError even if the column has a default
value.  So use a non_null :allow_missing=>true validation for
such columns to catch such errors.  Explicitly validate the
primary key in the same way, since it operates similarly but
in certain databases the schema parsing shows a nil default
value.
Fix typo in spec suite description
Add scissors plugin for Model.update, .delete, and .destroy

I had originally planned to just remove these, but I think providing
them as a plugin makes more sense, as they are probably used in
test code.