Removed the legacy `ModuleDescriptorState` type from the various metadata types. All data is now contained in properties on the relevant metadata types, rather than spread or duplicated across the metadata and the descriptor types.
Moved the module level exclude rule definitions and branch property for Ivy metadata from the legacy `ModuleDescriptorState` onto the relevant metadata types. The Maven metadata has no module level excludes or branch property, so don't persist these for Maven modules. Incremented the cache layout version to reflect the changes to the persisted metadata.