Move negated error messages out of the Not validator.

All negated error messages now live in their respective
validators. This is how it should have been done in the
first place. It makes the Not validator significantly
less gross and makes it easier to add more validators
in the future.
Implement nested validations.

This allows a list of validations to contain a dictionary of yet
more validations in order to accomodate writing validations
for nested dictionaries.
Prepare for release of v0.6.0