Remove passing of bogus schema on keyschema validator construction
Validate schemas before they are used to validate documents...

This throws out the same errors as we currently do at document-parsing time,
but allows us to fail in cases where the document doesn't reference pieces of
the schema which are illegal.

This is important should there be a rarely-used part of the schema which is
incorret, as we will fail earlier, hopefully reducing debug times!

See issue #41 for full details of development discussion.
Remove unnecessary error raising during document validation...

Our schema validation now takes care of that.
Move 'special_rules' out of _validate(), remove constraint value checking
Make the annoyance that is Python 2.6 happy
Up-front validation for schemas.
Merge branch 'ch3pjw-metaschema'