Normalize makeup of all fields in this package

* All fields have initialize, validate, run_validators
* In type checks don't apply for None values (add tests of this from @expobrain