Renamed some RemoteAgent related classes & added JavaDoc

- Improved the names of some of the classes used in the RemoteAgent 
  context. Although I had written most of them, it wasn't immediately
  clear to me what their roles were. Hopefully, this is a bit better 
  now for everyone.
- Also: Fixed use of LogVerifier in
  RemoteAgentMetadataRepositoryCacheTest, so that error log entries
  would fail the tests.

Change-Id: Ifd0ea3f8813a966002c1a5016accc7f80c2fd480
397980 Improved logging for tycho.disableP2Mirrors

- Log if tycho.disableP2Mirrors is set to true.
- Log when the p2 mirror configuration is removed from a loaded p2  
  artifact repository.

Bug: 397980
Change-Id: Ibc3b4390c810c40a252b36183b0345bafc597a2e
Set up HttpServer for tests with JUnit @Rule

- Migrated the (OSGi side copy of) HttpServer test utility class to be 
  usable as JUnit @Rule.
- Also: Removed non-working authentication functionality from the
  OSGi-side HttpServer class. This functionality is not used, and was 
  broken (see commit c9e3482, where the Maven-side HttpServer class was 
  fixed).

Change-Id: I27d6fcb948e100ad2d5832033dcbc0bc0e23101f
[cleanup] Created MavenContextImpl constructor for tests

... that don't need to set offline mode and the merged properties.

Change-Id: I8a24d5d76fe1bcc6a7d12bdd5470074ea5a30c60
394558 Fail if a child of a composite repository is missing

- For p2 repositories that don't explicitly specify a loading policy
  for their children (repository property "p2.atomic.composite.loading")
  assume that the composite fails to load if any of its childrean failed 
  to load. This is the same as if the repository had specified
  p2.atomic.composite.loading=true. p2 decided (for historical reasons) 
  to keep the default to be false (see p2 bug 356561).
- This behaviour is the same as in Tycho 0.16.0 because that version 
  included an intermediate version of p2 where the default was true on
  the p2 side. Now Tycho needs to set the default to true (unless the
  user explicitly sets it back to false on the command line).

Bug: 394558
Bug: 356561
Change-Id: I197d6bdf480004ffd0165c7073ea07ec1d879786
358292 Update versions for products in eclipse-repository

tycho-versions-plugin will now update the product version product files
in eclipse-repository. The product version will only be updated if it
matched the POM version before the change.

Bug: 358292
Change-Id: I4ce15339cff4eb417f79b3a9432c5920a006b27b
381377 Support direct inclusion of bundles in category.xml

- It is now possible to include bundles into an eclipse-repository p2
  repository by listing them directly in the category.xml. The PDE
  category.xml editor also has support including bundles since 4.3M5
  (cf. bug 383795)

Bug: 381377
Change-Id: Ibcdfdbd23d0e5384b2f1539821dee36af410f478
[cleanup] XML formatting for sitedoc site.xml
385930 Added publisher plugin to site docs

- Added the publisher plugin (and the other eclipse-repository p2
  plugins) to the site. This is needed for the documentation of the
  new goal for publishing profiles.
- Also: Reworked the documentation of the publisher and repository
  goals. Added <p> tags for correct spacing and alignment. Removed
  documentation for qualifier attribute through @readonly tag.

Bug: 385930
Change-Id: I4c38a516a5c90eda96e972c41cd36706c71bf243
377744 Improved tycho-surefire-plugin:test documentation

- Document how the set of bundles for the test runtime is computed
  (main description, parameter "dependencies").
- Document that framework extensions are not detected automatically
  (parameter "frameworkExtensions").
- Added <p> for proper indentation and spacing.

Bug: 377744
Change-Id: Ide9ca6feb651e78ea6a42d45000619324ab66dcb
397996 Don't resolve symbolic links anywhere in Tycho

- Remove all getCanonicalFile and getCanonicalPath calls. We don't 
  control all data flow paths to certain objects (e.g. the Maven model), 
  so calling these methods leads to a mixture of canonical and 
  non-canonical paths. The solution is to never canonicalize paths. 
  Really, this is also what we want: we want to operate on the logical 
  file structure, and not about how files are mapped/symlinked to
  physical files.
- Used getAbsolute* as replacement of getCanonical*,
-- except for file locks, and
-- except where it can be expected that the path contains ".." segments 
   (e.g. from concatenating a a base directory with a build.properties 
   value). In this case, URI.normalize is invoked for collapsing ".." 
   segments.
- Verified this change by running the full Tycho build and integration
  tests in a symlinked directory.

Bug 397996
Bug 340852
Change-Id: I3249e27db1e84ee827647c0df45b2e7704f2eaa6
402095 add additionalFileSets mojo parameter

can be used e.g. for generated files when
bin.includes is not flexible enough.

Change-Id: I1e62f012945a875580fccca06667bed2e73b5026
386851 Deprecate unpack attribute of Tycho's feature.xml model

- Tycho's feature.xml model classes don't interpret the unpack attribute 
  correctly - a missing attribute should be unpack=true (bug 386851). 
  However, the affected model class in anyway only used by the 
  deprecated and unmaintained eclipse-application packaging type, it is 
  not worth to be touched. I am adding a deprecation warning in case 
  there are other users that we don't know about.

Bug: 386851
Change-Id: I64ac0f95d4faa6552945177bc3dcffdc55a253ad
383866 remove redundant compilation in test-compile phase 

- remove testCompile mojo altogether
- remove the "testCompile" goal from default lifecycle
  phase "test-compile" of eclipse-test-plugin packaging type
- code was always compiled anyway 
  in earlier phase compile (and with stricter package
  visibility rules)
  
Bug: 383866
Change-Id: I86def717175005fe9d33eeaa2679fd7d5503cfb6
401288 allow to configure data location and skip deleting it

- introduce mojo parameter osgiDataDirectory which allows
  to configure the osgi data directory aka workspace
  independent of the osgi.install.area
- introduce boolean mojo paramater deleteOsgiDataDirectory which
  allows to skip recursively deleting the workspace before
  executing tests
  
While this introduces a possibility for unreproducible builds, I think it's not worse than today because

1. defaults are safe and stay as they are
2. you can get unreproducible builds today already if you
   configure the work dir to be outside of target/

Bug: 401288
Change-Id: I3c031f415bea52f2bf68cea3fbe24cc4aa717a94
402100 Update p2 version to I-build with new ECF (httpclient4) version

- Update to p2 I-build that has new ECF version integrated that uses
  the Apache HTTP client v4.
- Necessary adaptions:
-- Extend range of org.junit required by the test harness bundle for
   JUnit 3 so that we don't get a compile issue. At runtime, the
   extended range should not have an effect because Tycho would use the
   JUnit 4 harness if JUnit 4 is referenced by the test.
-- Replaced references to org.junit4 (dropped from the Eclipse Platform
   p2 repositories) by org.junit.
-- Adapted to changes in Hamcrest and JUnit.

Bug: 402100
Bug: 401758
Change-Id: I0feee6ded9f70628367852c340cfac5085ce2cb9
Fix failing IT Tycho45Test

- revert junit version range upper limit to 4.0.0)
for junit 3 provider

- add junit 3 from idigo repo to target platform
  as it is missing now in kepler as per bug 391433
  

Change-Id: I9e2fd86d9064086f112b821400ca2a36437ed45b
401216 Don't include everything in case of missing bin.includes

- With strictBinIncludes=false and a missing bin.includes in a feature,
  the entire source tree was packed into the feature. This is a bug
  (assuming that a build with strictBinIncludes=false is supposed to
  give reasonable results).
- With this change, a missing bin.includes leads to a feature.jar with
  only the specially handled files feature.xml and feature.properties
  (if present).

Bug: 401216
Change-Id: If69f62974749fee2f5000190dd0a0ef20e62661b
Use Kepler M6

Change-Id: I14d4e92be6488c1f232fee8dbcc71801b79e1d9b
update to Kepler M6 versions of JDT/apt and equinox

Change-Id: Id9561f54d2fc4eef7d24ae4883a9b77f1e6d3469