Adding whitelist option to Model::validates()

This option is used when `Model::save()` is called with `whitelist` in order to skip validation rules on fields that do not exist in the whitelist.

This feature has been discussed previously in PR #1118.