Added custom priorities and Cut() validatable to stop validation immediately.

Hi! Here's the summary of my fork, which I think could be useful for inclusion in schema.

Validatables can have custom priorities so that we can control exactly in what order keys are tested in a dictionary schema.

The Cut() class can be used to fail validation immediately when we don't want a certain key to be caught by a more general rule. An example is given in the docstring for the Cut() class, and a test case is included.

Also, all validatable classes now share a common base class (SchemaBase), and instead of checking for the presence of a "validate" attribute in an object (which may be present but not necessarily intended for validation  with schema) we check if the object is an instance of SchemaBase. The user can still provide custom validatables by merely adding SchemaBase to their bases.

Anyway, the cut was the main reason why I did this fork, as it was useful to me in a CLI I was doing with the **amazing** docopt :)

Cheers,
Rui