Multiple level defaults support breaks schemaless dict

It is legal for `dict` type in a schema to not define a schema:
```
schema = {'somedict': {'type': 'dict'}}
```

However #327 breaks this case since it assumes a `dict` always defines a schema.