Added error handling to a category of errors that I missed before
SchemaError now takes a single argument, which is the error context.
The context is defined as:
  - the error handler (string or callable)
  - the schema
  - the data being tested
  - a string constant representing the reason for the error
  - optional details
From this single list of contexts, both the 'autos' and 'errors' can be calculated on the fly, since the difference is merely a matter of the formatter that is run on the context.

This is a backward incompatible change for anyone raising SchemaErrors directly, but this should be rare.