Add more functionality into HashWithIndifferentAccess for interoperability, full test coverage, always call root level array string and hash classes, and fix dropping of default values on conversion.