Moved setting of IvyArtifacts back off IvyConfiguration and onto IvyPublication
- IvyConfiguration is a lightweight representation of a configuration element in ivy.xml
- Copy runtime dependencies from Component when configured, rather than holding onto Component and doing this lazily
- Added IvyDescriptorFileGenerator for translating directly from IvyPublication to ivy.xml
    - Translating IvyPublication -> org.apache.ivy.ModuleDescriptor -> ivy.xml meant that we couldn't produce 
		certain ivy.xml features (like conf="*").
- Updated MavenPomFileGeneratorTest to use XmlSlurper rather than comparing actual file output.
- Removed custom configurations from many integ tests
   - still need to add ability to set configuration on artifact/dependency
   - still need to add tests for configurations in ivy.xml
Added 'conf' attribute to IvyArtifact, allow this to specified in ivy.xml
- Don't supply conf attribute by default: will use the ivy.xml default value of '*'
- Use the configuration value of a ModuleDependency to get the right hand side of the <dependency> configuration mapping.
- Do a lot more ivy.xml configuration checking in integ tests.