Validate the schema definition given to the SimpleSchema constructor

Right now, if a developer create a `SimpleSchema` but for instance misspell a key the rule doesn't apply and the developer will not know.

This PR throws an error if someone create an invalid schema.