delegate all validity checking to model

Also don't blow up when there are errors on attributes that are not
directly mapped from the json
Merge pull request #6 from pezra/better-error-messages

Delegate all validity checking to model