Revert 561ac3e2f0c9b717114f7452597062cf32584316

(Change `validate_uniqueness_of_matcher` to give non-null columns
default values)

This sounds good in theory, but we cannot choose default values that
make sense in every single context. For instance, if the column only
accepts certain values, then a default value must be chosen which is one
of those values. There is no way we can know this. Instead of making
`validate_uniqueness_of` magical, we should insist that people
create a record that has the proper attributes with the proper values
before using `validate_uniqueness_of`.

----

This reverts commit 561ac3e2f0c9b717114f7452597062cf32584316 and fixes #440 and #516.