Inherit shareable and cloneable settings

Fix issue where previously disabled sharing and cloning on parent classes was not inherited to subclasses. This fix is extended to flags set on interfaces whereby sharing and cloning can be disabled based on interface implementation as well as class extension.