Python 3.3.1

Alter all project files for Python 3. Use '2to3', and debug using unit
tests.

Remove 'coerce_unicode_input' function. The 'unicode' type is gone.

All tests pass under Python 3.3.1.
Nested non-'dict' 'unlimited' iospec tests

Add tests to confirm that nested structured iospecs whose top-level
containers are 'list', 'tuple', or 'ListOf' (all of the non-'dict'
types) behave as expected. As I was reading through the 'iomanager'
module, preparing to integrate the Python 3 'collections.abc' module,
I discovered what appeared to be a bug. Adding these tests confirmed
that bug: top-level containers other than 'dict' and 'list' do not
work correctly with the 'unlimited' keyword.
'make_dict_from_listlike'

Refactor 'make_dict_from_list' and rename to
'make_dict_from_listlike'. The new version of this function can accept
both iterables and 'ListOf' instances.

Refactor 'iomanager' module to use the new 'make_dict_from_listlike'
function. This new function allows for more concise code.
Abbreviated 'unknown' output

Replace 'UnknownDict', 'UnknownList' with unified 'UnknownContainer'
class.
'unknown' output

Refactor and debug 'unknown' output abbreviation.
Debug 'IOProcessor.filter_unlimited'.
Debug tests.
Integrate abstract base classes

Integrate abstract base classes from 'collections.abc'.

Refactor 'all_are_instances' function. Replace 'all_are_instances'
function with 'all_are_containers' function.
Merge branch 'dev/python3' into develop
Prepare release 0.4.0

Python 2.x is no longer supported beginning with this release.

Update version number.

Update changelog.

Add 'README_pypi.txt' file. This is a brief README written using reST
for the 'pypi' distribution page.
Merge branch 'release-0.4.0'