Some changes to move away from Ivy types to Gradle types during dependency resolution:

- Added `ConfigurationMetaData`. Expose this from `ModuleVersionMetaData`. This takes care of calculating the hierarchy, artifacts and transitive flag for a configuration.
- Added `DependencyMetaData.isTransitive()`.
- Use these in `DependencyGraphBuilder`.