Use known_attributes instead of attributes for matching error messages

Enables support for errors on unassigned attributes that have been specified in the schema.
Modified tests to specify name attribute in schema, and have it not assigned rather than a blank string in tests. These tests fail if using attributes.keys in validations.rb