More completely validate nulls and arrays.

For nulls, check validations common to any type via validateSchema()
and validateCommon().  Also, do not check "type" if it is not declared
in the schema.

For arrays, also call validateSchema()