392154 expose includePacked flag and p2 query for mirroring

- rename test so it is actually executed by surefire
- add includePacked flag to MirrorOptions
- apart from id and version, an IU to be mirrored
  can now also be specified via p2 query language [1]

[1] http://wiki.eclipse.org/Query_Language_for_p2

Change-Id: I174f0be3ac7f4d50a65953720df11737543996d4
385930 Added more JavaDoc to ExecutionEnvironmentConfiguration

- Document purpose of the class.
- Declare where IllegalStateExceptions may be thrown (and document
  when).

Bug: 385930
385930 Debug log output for effective execution environment config

- In debug mode, print out the effective execution environment
  configuration, and where that configuration came from.

Bug: 385930
Avoid lots of long file warnings during tar creation

ancient tar format path lenght limit (100 chars)
is not worth a warning for every single tar entry exceeding
this limit nowadays.

Change-Id: I68459472b8ef9887f4b9413238667e0929920850
389856 allow to specify bootclassapth in toolchains.xml

For non-standard JDK filesystem layouts, it is necessary
to specify the bootclasspath to be used for compilation
explicitly.
Add a bootClassPath element with include and exclude patterns
in the toolchains jdk configuration.
This enables useJDK=BREE on more exotic platforms.

Change-Id: I3978acb963a781e1b46a2681e467df0a94c1c907
348394 Reuse settings file for test execution

Maven executions started by AbstractTychoMojoTestCase
now reuse the maven settings file used by the "outer" build
for test executions.

Change-Id: I0d4e89737c526b392cdf0c47619591ac13e2fe79
393387 Support -A as compiler argument

This is backport of maven compiler bug
http://jira.codehaus.org/browse/MCOMPILER-135

Bug: 393387

Change-Id: Id6cfb66f6504ed51d755b9b54074e13fe27352e5
Update p2 to Kepler M3

- Previously used I-build is no longer available
392154 add proxies when resolving tycho runtime artifacts

Change-Id: I24d350b97b8cba88218c4f605f1dfa739803425c
Allow overriding settings for test execution

Change-Id: I653fd8e33d9ab0cd5d975f332ccb2c41a29eccf3
364095 Move tests for target resolution with EE to own class

- The tests for target resolution with execution environment didn't
  really benefit from the test data avaialble in
  TargetDefinitionResolverTest. Therefore these test (and the tests
  remaining in TargetDefinitionResolverTest) are easier to
  understand if put in a separate class.

Bug: 364095
393663 make sure user settings are actually used

Change-Id: I18ed0a6f984196e49658a2d9d96473b13713a59a
361204 Evalute root permissions file patterns

- extract abstact superclass for FileSet
- introduce VirtualFileSet which can evaluate
  ant file patterns on a list of IPaths which
  simulate the resulting installation filesystem layout
- exntend existing integration test

Change-Id: I4f7ba9bcb2460e71c77ad706e9d70b2045df1592
392357 Ignore filters that will fail dependency resolution

- Unless we add support for osgi.nl-specific builds (bug 392357) and
  additional profile properties (bug 391283), nl and additional
  filters on features will only lead to resolution failures. Ignoring
  these attributes for now because they stand in a way of a clean-up
  change (see next commmit).

Bug: 392357
Bug: 391283
Change-Id: I40cf1584f176d81b4d94dd9dea939e4e2c742185
[refactoring] Use TargetEnvironment instead of Map<String, String>

- Use the type TargetEnvironment instead of the raw osgi.os, osgi.ws,
  osgi.arch map triple. This avoids the redundant conversion to the
  string map, e.g. in tycho-extras, and the hard to understand type
  List<Map<String, String>>
- TargetEnvironment has to implement equals and hashCode because it
  is now used in the key of the target file resolution cache. Added
  tests to ensure this.
- Moved LDAP filter creation (for p2 IUs) to TargetEnvironment.

Change-Id: I71b71fbf17c9b1df3efd06b9e1bf8b93c3bce2be
387796 More JavaDoc in ExecutionEnvironment

- Also: added "default" in the getCompilerSource/TargetLevel methods to
  indicate that these will only be used if there is no explicit POM
  configuration.

Bug: 387796
Change-Id: I9e2d810370b8e292d8e013731667eb9569c0aa24
387796 Make J2SE-1.5 the global execution environment default

- If no execution environment is configured, use J2SE-1.5. This implies
  the following behaviour changes if there is no execution environment
  configuration at all (i.e. neither in POM, build.properties, nor
  manifest):
-- The p2 target platform and dependency resolvers would resolve against
   1.5 instead of 1.6.
-- The compile class path would be restricted to the J2SE-1.5 packages
   instead of allowing the use of everything in the JDK.
- This also leads to a minor performance improvement, because ee=null no
  longer occurs and therefore there are more hits in the target file
  resolver cache (bug 380271).
- Deleted the logic that tried to guess the execution environment
  corresponding to the running JRE.

Bug: 387796
Bug: 380271
Change-Id: Ic29cd079ac178246f609d770c60aaa87865db1df