Default values correctly deal with schemaless dict

A value of type dict in a schema need not define a schema itself i.e.
the following is legal:

    schema = {'address': {'type': 'dict'}}
Add test for default values with schemaless dict
Merge pull request #329 from kynan/329-fix-defaults-for-schemaless-dict

Multiple level defaults support breaks schemaless dict