Fixed Compound configuration sceen not using the correct versions.
Added notification features for versions on config-page.

This patch-set adds a text field on top of the configuration
screen, that will display a warning or informational statement
about the current status of versioning.

For example, it will warn you if you are not editing the latest
version and might thus revert certain changes.
Coloring the version status, depending on warning/info content.
Fixed issue with URL encoding on rebuild-page (and others)

A rogue Apache might doubly-escape URLs, so we need to make sure that we
have a fully unescaped versioning map. Downside is, that Jenkins project
names should not contain URL-like encodings (%xy)

Also, added a size-limited LRU buffer for decoding the version map. This
should slightly speed up accessing specific versions of projects.

As a last fix, this corrects the project URLs on the rebuild page to
properly account for path contexts (i.e. http://server/context/job/...)
Force users to enter a versioning string before saving.

Also converted more Jelly to Groovy code.
Fixed several bugs:

- The warning messages for fixed parameters now evaluate correctly
- Fixed issue where invalid parameters were not detected, if the final
  build was not transient.
- Fixed aborting when a variable was declared as "must have a
  value set".
Merged in various layouting changes.

 - Converted several Jelly to Groovy files
 - Fixes to the layout of the build-flow view
 - Exchanged names like "Transient Project" with more intuitive ones.