FoxxModel.set validation

Fixes #926. Also implemented basic type checking.
Maybe we should pull underscore into this file as well? It is already in almost all of Foxx. Then this (and the other ones below) will be more readable IMHO.