Update Schema#cast() handling
Allow Record# properties to be cast as sub Schema
Run schema level validation if Record# property is a schema
Linting fixes