Moved the artifact definitions for Ivy and Maven metadata from the legacy `ModuleDescriptorState` onto the relevant metadata types. The Maven metadata always includes a single hard-coded artifact, so don't persist the artifact definitions for Maven modules. Changed the Maven metadata implementation so that the Jar artifact is attached to the 'compile' configuration and is inherited by the other configurations. Previously the artifact was attached to the 'default' configuration.
Incremented the cache layout version to reflect the changes to the persisted metadata.