Begin restructuring

The vobj.py source file is beginning to get rather large.  This is the
first step in decomposing vobj into a package, rather than a module.
The directory structure is set up and all essentials are updated to
refer to it.
Update requirements file locations

The standard place for requirements files is requirements.txt and
test-requirements.txt, rather than .requires and .test-requires.
This alters the locations of these files for vobj to comply with
the standard.
Eliminate unittest2

The unittest2 package does not support Python 3, so we here transform
the test suite to use standard Python unittest, without losing the
support for Python 2.6.
Split Attribute class

This splits the Attribute class and its tests out into separate files,
as a step towards improving the layout.
Split Schema class

This splits the Schema class and its tests out into separate files,
as another step towards improving the layout.  This also introduces
the use of six, which will ultimately allow vobj to be used with
both Python 2 and Python 3.
Split decorators

This splits the decorators @upgrader() and @downgrader() and their
tests out into separate files, as another step towards improving the
layout.  This also adds "downgrader" to the __all__ list.
Split SmartVersion class

This splits the SmartVersion class and its tests out into separate
files, as another step towards improving the layout.  It also adds
support to SmartVersion for Python 3 constructs, and completes the
implementation of the __getitem__() method by adding an as yet
unrealized call to the __vers_accessor__() method of the VObject.
Create Converters and eliminate Downgrader and _call_upgrader()

The Downgrader class and the _call_upgrader() helper function perform
similar functions slightly differently.  This introduces a new
Converters class, based on the list class, that commonalizes these
operations.
Create SchemaProxy

This creates the SchemaProxy class, which becomes a base class for
VObject; many of the proxy-like methods from VObject are moved into
SchemaProxy.  This also creates ReadOnlyLazySchemaProxy, a special
proxy class which provides read-only access to a schema object; it
will be used to provide access to the data via an older version.
Split VObject class

This splits the VObject class and its tests out into separate files,
as the final step towards improving the layout.  It also makes some
small stylistic and Python 3 fixes.
Test against Python 3

The test suite is now able to pass under Python 3.3 and Python 3.4,
so add them to the tox.ini.
Add downgraded versions

This adds the VObject methods necessary to access the data in a VObject
under an older version.
Bump version and tune classifiers.