stricter check on undefined field values

If your model is not loaded this change will now prevent you from
using model values of the fields which have no default value.
same es prev commit
Change storage type for booleans. They now use true / false instead of 1 / 0.

You can still override with yes_value / no_value.