'iovalue'

Replace 'iovals' with 'iovalue' in 'iomanager'. Limited replacements
in 'test_iomanager'. This change is in preparation for the 'process',
'coerce', and 'verify' methods to accept individual values, rather
than just dictionaries.
Non-container tests

Add tests for 'iovalue' values that are non-container types.
'combine_iospecs'

Implement 'combine_iospecs' function which can handle non-container
types. Before, 'combine_iospecs' could only handle dictionary
iospec values.

Add 'combine_iospecs_dict' to handle dictionary container iospecs.
Non-container type-checking

Use 'confirm_type_ioval' instead of 'confirm_type_dict' to confirm
'iovalue' type. Change default values for 'optional' and 'required' to
'NotProvided'. These two changes enable non-container 'iovalue' and
'iospec' values.

Debug tests.
'IOSpec required' test

Add test to confirm that one of either 'optional' or 'required' is
required.
Implement 'IOSpec required'

Add error raised when neither 'required' nor 'optional' is provided.
Non-container 'coerce' method

Implement non-container 'iovalue' capability for 'coerce' method.

Debug tests.
Structure check

Re-implement structure check for missing and unknown keys.
'unlimited' argument

Re-implement 'unlimited' argument.
'IOSpec not required' tests

Alter tests to confirm that calling 'verify' or 'coerce' with no
'iospec' value (either 'required' or 'optional') passes. I realize
that I made a mistake by raising an error if no 'iospec' value were
provided.
Implement 'IOSpec not required'

Remove restriction which required either 'required' or 'optional' to
be provided.

All tests pass.
'json_tools'

Move all of the 'default' coercion functions, processors and
iomanagers to a new 'json_tools' module. These things were never
intended to be 'general purpose' defaults; rather, they were always
intended to be defaults for dealing with JSON-serialized data.
Merge branch 'dev/non-container-iovalue' into develop
'list' iospec tests

Add tests for 'list'-type iospec values.

Refactor non-container-type iospec 'coercion' tests.
'difference...', 'confirm...' methods

Alter 'difference_list' and 'confirm_type_list' methods to handle
'list' instances as well as 'ListOf' instances.

Move 'tuple' iospec tests to separate test case from 'list' iospec
tests.
'list' coercion

Enable coercion for 'list'-type iospecs and iovalues.

Debug tests.
'unlimited' for lists

Apply 'unlimited' keyword to 'list'-type iospecs. Add
'filter_unlimited' method to accomplish this.

Rename tests for clarity.
Merge branch 'dev/list-iovalue' into develop