Remove (some) use of groovy in src/main
writeToTempFile should follow the semantics of newTempFile

Os.*TempFile methods would be expected to behave in a similar manner.
Use newTempFile which will normalize prefix/suffix arguments.
AggregateClassLoader shouldn't relay requests to the parent.

A normal class loading first goes through the parent class loaders and
if that fails then findClass will be called. In the aggregate case we have
already explicitly listed all classloaders we want to try. Don't try to load
classes from parent.
Resolve classloading issues related to OSGi.

The changes should make it impossible to have the same
class loaded from different classloaders resulting in linker
errors. For example a catalog item could load a class from
one of its linked bundles, while the same class would be available
on the app classpath where it was already loaded.

The solution is to make sure that a bundle is loaded exactly once.
While this is normally the case we were having issues with bundles
included in the boot classpath. We were exporting their packages
but the framework didn't know which bundle name:version they
belonged to, thus making it possible to load the same bundle from
external source.

Instead of including the exported packages of bundles on the
classpath to the system.packages.extra config, now for each bundle
on the classpath an extension bundle will be created and installed.
Use all classloaders from the type's hierarchy when creating a proxy.

The proxy will need access to all extended classes and interfaces but they
might come from a different classloader than the entity's one.
It might be the case that entity's classloader doesn't know about all of the
extended types if there is an intermediate classloader in between.
Jclouds byon: support privateKeyFile config
JavaSoftwareProcessSshDriver: installing java
tidy up of location and security config in docs
This closes #90

Conflicts:
	core/src/main/java/brooklyn/entity/proxying/InternalEntityFactory.java - createEntity had been changed to pull in all interfaces, while class-loading logic changed here to pull in classloaders of all supertypes; have merged
This closes #102
This closes #99
extract an AbstractBrooklynObjectSpec to combine common spec code
code tidy of ArchiveBuilder
add tags to BrooklynObject and to specs, with tests that they get set and can be queried for all BO subtypes; other cleanup to testing and deprection
set uniqueTags for many enrichers and policies
use uniqueTag when checking for duplicate addition
add tests confirming that rebind works with tags and unique tags for entities and policies (no work needed because it is @SetFromFlag)