Fixing issue with merging multiple default dicts

Merging default dictionaries is not as simple as just taking the union
of the two … it can also involve taking the current default state into
account.  If we have a rendered configuration dictionary entry that is
the same as the old default, then it should be converted to the new
default value, whatever that may be.
Adding old_defaults to default setting.

Doesn’t quite fix the issue with all remaining tests.  There remains a
problem with merging dictionaries contained within the old
configuration dictionary. #1
Cleaning up accidental merged defaults

Cleaning up default values in the Static class, in the case where the
user’s ‘returns’ attribute does indeed return a dictionary.  #1
Adding a test for multiple default config updates

#1
Renaming the Static return attribute

Renaming the Static class’s return attribute to returnValue.  Updating
tests to reflect this design decision.  This also means that I’m
accepting merged configuration dictionaries, it just means that some
user-defined configuration options won’t have any effect on the
resulting object.

Issue #1
Updating test for File validity

Issue #1
Removing an assertion

Removing an assertion that can’t occur in the Element class (because
Element doesn’t have a validate function … Primitive and subclasses
do), but adding it to other classes. #1
Fixing one last test

Because of the old_defaults option added to utils.apply_defaults(), the
function correctly identified that the element configuration should
change to match the default configuration because the standards for
defaults changed.   The old default value becomes the new default
value. #1