What was the reason why we're not having all the new stuff be arguments to `__init__` again?

Also, I think we should make `Validator.to_schema_error` instead be `_Error.create_from` and then do `SchemaError.create_from(validation_error)`.