REVIEW-4589: Internalised the configuration of deps in fixture

- Create the config and dependency for resolving within fixture
- Cannot use detached configuration due to lack of resolution strategy control
More testing of ivy source/javadoc artifacts

- Test multiple artifacts in configuration
- Test empty configuration
- Test broken source artifacts (REVIEW-4588)
REVIEW-4592: Removed unnecessary interface
REVIEW-4601: Handle possible null value
- Didn't add integ test coverage since this will no longer be nullable in 2.0
REVIEW-4605: API cleanup
REVIEW-4605: Cleanup JvmLibrary implementations
Renamed test
REVIEW-4605: Added 'type' to ArtifactResult
- ResolvedComponentArtifactResult.getArtifacts(type) always returns matching artifacts
   - returns empty set if none match