Refactor non-container type-check

Refactor non-container type-check tests.
Custom type-check tests

Move custom type-checking function tests to non-container 'iospec'
tests. These tests will all be parameterized for the various kinds of
'iospec' values soon.
Subclass type-check tests

Add tests to confirm that subclasses pass type checking.

Make global 'CustomType' and 'CustomSubclassType' for type-checking
tests.
Remove redundant

Remove redundant type-checking tests.
Parameterize type-check tests

Parameterize type-checking tests.

Remove old, non-parameterized type-checking tests.
Parameterize structure-checking tests

Parameterize structure-checking tests. Incorporate test to confirm
that only top-level items are unlimited in container-type iospecs
when 'unlimited=True'.
'list' iospec combination

Implement 'list' iospec combination. Now, 'optional' list-type iospec
extends (builds upon) 'required' iospec.
'ListOf' rejects 'None' tests

Adjust parameterized type-checking tests: add tests to confirm that
'ListOf' iospecs reject 'None' values in iovalue lists.

Debug 'VerificationFailureError' message to not include 'NoDifference'
values returned for 'unknown'.
'ListOf' rejects 'None' values

Debug 'ListOf' 'None' value rejection.

Remove redundant 'None' value tests in structure-testing test cases.
Remove redundant tests

Remove tests that have been made redundant by the new parameterized
tests.
Container preservation tests

Add tests to confirm that containers passed through coercion are
preserved, in their order (for lists) or keys (for dicts), and in
their lengths.
Parameterize coercion tests

Parameterize coercion tests. Apply parameterized tests to all iospec
kinds.
Remove redundant tests

Remove redundant coercion tests. These tests have been  replaced by
parameterized tests.
'test_json_tools'

Move tests for 'json_tools' functions to separate 'test_json_tools'
module.
Re-organize tests

Re-organize coercion tests to reduce unnecessary code.
'tuple' container tests

Add parameterized tests for 'tuple' iospec and iovalue containers.
Implement 'tuple' containers

Implement 'tuple'-type iospec and iovalue containers.

All tests pass.
Merge branch 'dev/test-refactor' into develop
Update package info

Update version number to 0.3.0

Update CHANGES.txt.
Merge branch 'release-0.3.0'