improve ivy test fixtures

- handle ext attribute
- provide access to any ivy artifact
rename/move maven-specific artifact resolution test
add ivy-specific artifact resolution test
factor out maven candidate artifact computation into separate class
implement maven-style javadoc/sources artifact resolution for flatdir repositories
introduce SoftwareArtifact#getFailure

- Can't think of a good way not to have this method. I don't think it's worth it to have a separate model for failures.
expose any artifact resolution failures that occur while executing artifact resolution query