Don't hardcode resolver prefixes

Prefixes should be obtained from XMvn configuration.
[refactor] Extract interface IFedoraBundleRepository
Implement CompoundBundleRepository
Make installer work with multiple prefixes
[test] [refactor] Extract Plugin class to separate file
[test] [refactor] Pull up temp dir creation to RepositoryTest
[test] Implement CompoundBundleRepositoryTest
Fix copy-paste bug in CompoundBundleRepository
[test] [refactor] Simplify CompoundBundleRepositoryTest using EasyMock
[test] Implement CompoundBundleRepositoryTest.layeredRepoTest()
[test] Implement CompoundBundleRepositoryTest.shadowingTest()
Rewrite EclipseSystemLayout.getSCLRoots()

- allow SCL without base root "/" (not all SCLs must inherit from base
  system)
- return ordered set of SCL roots (SCL order is signifficant!)
- add sanity checks for contents of $JAVACONFDIRS (it's better to fail
  early that to produce unexpected behaviour)
- implement getSCLRoots(String) to avoid mocking System.getenv()
Use LinkedHashSet/Map instead of HashSet/Map

HashSet and HashMap are unordered.  They can produce non-deterministic
results, are harder to debug and make debugging output appear in wierd
order.  IMHO it is not worth to use them for the little performance
gain they offer over their linked counterparts.
[test] Implement EclipseSystemLayoutTest
Allow buildroot not to be defined for installation

If buildroot path is null then installation is ran in "dry mode",
meaning that simulation of installation is performed, including
dependency resolution and requires generation, but dropins are not
created in buildroot.  This mode is useful in generating OSGi bundle
auto-requires.
Support multiple build profiles.
Implement P2 installer application

This application allows accessing EclipseInstaller service from
command line.
Obtain SCL roots by parsing Java conf files

Recently SCL Java config directories were changed from:
    /opt/<vendor>/<scl>/root/etc/java/
to:
    /etc/opt/<vendor>/<scl>/java/
This change breaks existing code.

To make the code work with more scenarios, getSCLRoots() was rewritten
to have less assumptions on file system layout and instead parse
locations of SCL roots directly from Java configuration files
(/etc/java/java.conf).
Add support for installing into SCL root
Update to Tycho 0.22.0