Support for bndtools source lookup

In this PR https://github.com/bndtools/bndtools/pull/885  I've suggested that we can encode additional attributes into the classpath entries that will then be passed into the bnd aether repository plugin so that it can properly lookup source artifacts based on GAV style names.

   - use extra attrs from IClasspathEntries
   - added new unit test and sorted methods