For consistency with maven-publish plugin, renamed descriptor file task in ivy-publish plugin
- from generate${publication.name}IvyModuleDescriptor -> generateDescriptorFileFor${publication.name}Publication
Ensure that the GenerateMavenPom and GenerateIvyDescriptor tasks show up in 'gradle tasks'
Added some coverage for ivy dependency configuration mappings and fixed some problems that this exposed:

- `*->@` and `*->#` select all configurations of the target module rather than the expected 'self' or 'this' configuration.
- `A->#` selects `A` rather than the 'self' configuration when resolving a configuration that extends from `A`.
Spec updates.
Converted `Network` into a test precondition.
Don't run the 'resolve real dependencies' test if offline.
Changed `ResolveCrossVersionIntegrationTest` to use a local http repo instead of mavenCentral so that it works offline.
Extracted the strategy for determining which configurations a given dependency descriptor refers to in the target module out of DependencyGraphBuilder.
Moved logic to determine the exclude rules for a configuration out of DependencyGraphBuilder to ConfigurationMetaData.
Fixed handling of '%' in the LHS of an Ivy dependency config mapping.
Fixed handling of '*,!A' on LHS of Ivy dependency config mapping.
Fixed test to work on older versions of Gradle.