Added ItemDiscover, ItemCancel, and ScmTag permissions to the enum

These additional permissions should be useful for other standard permissions.
Reorder enums to reflect ordering in the Jenkins GUI

This is more of a readability enhancement which could potentially be useful in the event that other permissions are added to Jenkins in the future.
added more support for the git plugin
Add support for archiveArtifacts / allowEmpty

In adding this, also offers a closure form for specifying archiveArtifacts options
Add support for conditional-buildstep-plugin

With transparent support for single and multiple steps, restricted
options for run conditions and build step runners, and nesting of
arbitrary build steps, rather than hardcoded to just support a few.
Add testing for each condition and runner.
Adding error condition tests for conditional steps
Merge pull request #131 from tagged/archive-artifacts-context

Add support for archiveArtifacts / allowEmpty
Merge pull request #128 from abayer/conditional

Add support for the conditional-buildstep-plugin
Add conditional buildstep support for status
Merge pull request #134 from abayer/add-status-condition

Add conditional buildstep support for status
Add ContextIntegrationTest, courtesy of @abayer
Do not set allowEmptyArchive if it is not specified

This element is incompatible with jenkins <= 1.480

See discussion here: https://github.com/jenkinsci/job-dsl-plugin/pull/131
Merge pull request #135 from tagged/archive-artifacts-context

Do not set allowEmptyArchive if it is not specified
Adding support for Maven pre/post-build steps
Merge pull request #136 from abayer/maven-pre-post-build-steps

Adding support for Maven pre/post-build steps
allow to specify the Maven installation
Merge pull request #133 from CoreMedia/maven-closure

allow to specify the Maven installation
fixed messy merge
Add emma code coverage publisher support