fix for additionalProperties

- we won’t make sure every properties would be shown with None,
none_count is removed. Users have to check if a property exists before
access it, or use dict.get with default.
- support additionalProperties
- do not pop input dict