Merge branch 'next' to master
Comments about changes since 2.2.2.REL
Issue #372: separate cleaning from test execution.
Merge pull request #409 from jawi/issue372

Issue #372: separate cleaning from test execution.
Fixes #411 No offline build
The template fetched the bnd jar in the build cache
directory. Changed to use a .bnd home directory
build-deps.
Add puturl property for NexusOBR

In case your gets and your puts are in different locations.
- Added a -i option to the bnd diff command for ignore headers
- Made the diff ignore an Instruction (wildcard, rejection)
Made the baseline and diff command work better with
a project. If no arguments are specified, the project
can provide the newer and older jar. Notice that a
project can have multiple sub-builders, that is,
you might get multiple results. Also added
a few options, see bnd help diff and bnd help baseline.
Performance, only set diffIgnore when baselining
is used.
Made the header ignore use instructions so we have 
wildcards.
Fixes #427. The Service-Component header is random order
Due to the use of a HashSet in creating the list of classes
from the Analyzer.getClasses, the order was random. The
getClasses() now returns a sorted list, by class name
Changes list
Fixes #414 NPE during launch
If you used version=project in the -runbundles
then it installed the bin directory as a bundle. This normally has no
manifest, and it is against the idea that we always build bundles. So
we generate a warning. It also likely fails on Windows since we cannot
use the reference:.

It is a warning because I am not sure if anybody uses this feature. There
could be some use cases.

Additionally, the XML JUnit reporter is changed so that even if you put
a directory as a bundle, you do not get the NPE anymore
The _ee macro returned the lowest ee but this was
wrong, it should return the highest.
#413 Mixed bundles require ALL res
If a bundle had classes from multiple EEs, then I would make an OR (|) filter of them. This is not logical, it should be AND (&) since we require all of them.
#41 The ${ee} macro now returns the highest ee
Before it returned the lowest ee found in the class
files.
Fixed #41 Support for Custom Macros
Custom macros are supported. 

     foo: Hello ${1}
     ${foo;Peter} -> Hello Peter
Close #388 add manifest header with bnd git sha against which bndtools is built
The ${githead} macro is empty on a non-git build but resolves to 
the SHA of the git HEAD. This either the content of the HEAD or the
content of the sym-ref.
This macro does not use git and should be portable.
More help
Close #369 baselining: bundle-version not properly aggregated
The Delta enum is ordered but valued ADDED/REMOVED higher
as MAJOR, MINOR, MICRO. Was tricky, guess the enum contains
different concepts.
Also printed out the bundle info with the command and improved the 
output format to be a little less overwhelming.