Some simplifications to the Ivy and Maven metadata parsing. Don't extract and persist the `description` and `publicationDate` properties for Ivy and Maven as these values are not required for dependency resolution. Incremented the cache version to reflect this change. Removed some dead code that attempted to include a `description` in a generated ivy.xml, as there is no way to specify this in the Gradle DSL.
Moved some Maven metadata properties from constructor parameters to mutable properties.
Merged the file resource implementation for the public `Resource` API into the file resource implementation for `ExternalResource` used by dependency resolution and publishing. This is a small step towards merging and reusing all the various resource implementations.