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.