Change defaults for unknown type and unknown property
Removed the securetypes stuff.
The hash fix has been released, so this can all go away.
An initial stab at making jsonschema Python 3.x compatible.

This takes the approach of being Python 2.6, 2.7, 3.1 and 3.2
compatible from an identical code base, i.e. not by requiring an
explicit 2to3 step.  With this approach it is almost impossible to
also support Python 2.5, though that can be investigated if that is a
hard requirement.

The testing framework was changed from Twisted.trial to nosetests,
since Twisted does not yet have Python 3.x support.  Alternatively,
pytest could be used.

Most changes are related to adding "from __future__ import
unicode_literals" and removing all of the "u" prefixes on string
literals.

Since 3.x drops renames dict.iteritems to dict.items, a function
"iteritems" was added to handle either case.

Likewise, itertools.izip was dropped in favor of just using zip.

Comparisions of strings and numbers no longer works, so the string is
forcibly converted to a float before doing a numeric comparison.

Updated "try .. except" to use the new "Exception as e" syntax.

Python 3 changed the way metaclasses are handled.  The metaclass in
tests.py (there are none in the library proper) now uses a crazy
inscrutable syntax that is Python 2.x and 3.x compatible.  See
http://mikewatkins.ca/2008/11/29/python-2-and-3-metaclasses/

There is one doctest failing on Python 3.x that fails due to the fact
that in Python 3 the full path to the Exception object is shown in
tracebacks, i.e. jsonschema.ValidationError vs. ValidationError.  I'm
not sure how to resolve this in a way that is both Python 2 and 3
compatible.  We may just want to skip the doctests on Python 3.
Fix a doctest for py3, which includes modules in tracebacks.
Minor formatting and cleanup.
Remove Python 2.5 "next" backward compatibility, since this code no longer works on Python 2.6 anyway.
Clarify the ``string_types`` parameter for Python 2.x vs. Python 3.x
Fixed classifiers for py3.
Stale future import from 2.5.
Fixed docstring for updated unknown_* default.
Fix "properties" verification.

This fixes the following:

    jsonschema.validate(1, {'type': ['number', 'object'], 'properties': {'x': {}}})

raising an error at 'instance[property]' when instance isn't actually an object.  "properties"
only has any effect when the instance value is an object.
Fix "items" verification.

Like "properties", "items" was failing:

jsonschema.validate(1, {'type': ['number', 'array'], 'items': {'type': 'string'}})

(The regression tests I'm adding for these can probably be done more concisely.)
Fix quotes (for consistency).
Fix verification for minimum and maximum.
Replace multiple_types_with_properties and multiple_types_with_items with
simpler regression tests.
Fix divisibleBy when the item isn't a number.

The spec doesn't actually say this one--there's no "when the type is a
number", but that seems like an oversight, since it doesn't otherwise
specify what should happen and that's how all other number-based
constraints work.
Fix the stack for ValidationErrors being lost.
Revert "Fix the stack for ValidationErrors being lost."

This is a small pain to do in a PY3 compatible way. Delaying for now.

This reverts commit ee1855f55cc42fb9272ae061592feb3187e31b34.
Moved irrelevant type tests to test_ methods.
Comment cleanup.