Fixed issue with deriving parameters

This mainly involed reducing the complexity of deriving parameters,
by simplifying how the scope is generated. Additionally, ParameterDefinition
instances are now copied by the ISPD before the rootProperty is registered.

This should avoid cross-contamination and potential race-conditions.

Added extended logging to isBuildable() check.
Fixes Gerrit Triggers not setting inheriting parameters

Added a (currently unused) method to reflect on class names in the
stacktrace.

Reduced the verbosity of the isBuildable logging (set to FINE level)
Fixed issue with parameters being derived wrong.

When a reference to a reference was selected, the inheritance mode
(Overwritable, Extensible, Fixed) was not computed properly.

Also, the rebuild page did not derive the properties correctly, by
stripping off the "header" imported from previous runs, when the
value had been fully extended. This is also fixed now.
Enabled inheritance, when job properties are evaluated from a BuildStep

This is needed, in case a BuildStep invokes a Jenkins job.
Fix failure of parameter sanity check

When an inheritable parameter followed a non-inheritable parameter,
the parameter sanity check would fail.

This is fixed, by making the enum-value not be null in that case.
Fixed issue with post-build steps not taking versioning into account

Added check for Java 6 compatibility

Fixed issue with altering versioning information not triggering automatic
job creation. Now, any save of versioning will trigger creation.

Removed some superfluous calls, variables and imports.

Slight overhauled allocation of parameterized workspaces, making it
possible to learn the name of the workspace, without acquiring it.
Fix issue with "hidden" parameters not being hidden.

This happens, if the parameter is overridden by an Reference, instead
of a "real" parameter definition.
Save new version, when project is updated via XML upload.

 - Made the saving of the versions.xml.gz atomic.
 - Made changing the parent references directly clear the
   relationship buffers.
 - Fixed issue with parameter derivation on calling
   scheduleBuild() directly.
 - Reworked unittests to be easier to use.
 - Added additional unittests for new features.
Fixed rebuild not working for "hidden" parameters.

Dynamically created parameters now also show up for rebuild
Split up retrieving configuration from transient jobs (compounds).

Added Helper method that allows to get a sorting XStream (for future use)
Cleaned-up pom.xml