[JENKINS-16364] Add support for Build Dsl job type.

This will allow creating build flow jobs by passing in the dsl block.

This change does not provide support for making the dsl block pretty; it
must be escaped for the resulting job to be pretty printed.

Usage:

  buildDslBlock( <build dsl text, escaped or flat> )

Example (simple):

  buildDslBlock('build ("job1")')

Example (escaped):

  buildDslBlock("parallel( \n { \n \" job1 \" } \n) " )

Example (passing in a variable's value, so the created job has
the value in the text of the dsl block):

  buildDslBlock('build("${BUILD_TAG}")')
  End result in build DSL node: build("my-base-job-dsl-job-12")

Example (passing in a variable, so the end-result is a created job
that has the variable (and not its value)):

  buildDslBlock('build("\${BUILD_TAG}")')
  End result in build DSL node: build("${BUILD_TAG}")
Update DownstreamContext.groovy

'SUCCESS', 'UNSTABLE' and 'FAILURE' were wrongly mapped to 48, 49 and 50 (ascii values of '0', '1' and '2'). Now the threshold names are mapped to their actual integer value instead of their ascii value.
added support for Build Pipeline plugin
added BuildPipelineView
Fix publisher tests

Fixed test to check against integer instead of ascii values.
[JENKINS-16364] Update support for Build Dsl job type; refactor naming conventions.

Note that the dsl block must be triple quoted if it's pretty printed.

Updated usage below.

Usage:

  buildDslBlock( <build dsl text, escaped or flat> )

Example (simple):

  buildDslBlock('build ("job1")')

Example (pretty):

  buildDslBlock("""
    parallel(
        { " job1 " }
    )
    """)

Example (passing in a variable's value, so the created job has
the value in the text of the dsl block):

  buildDslBlock('build("${BUILD_TAG}")')
  End result in build DSL node: build("my-base-job-dsl-job-12")

Example (passing in a variable, so the end-result is a created job
that has the variable (and not its value)):

  buildDslBlock('build("\${BUILD_TAG}")')
  End result in build DSL node: build("${BUILD_TAG}")
Make Steps work within groovy categories
When wrapping a step in a groovy Category, then calling private methods
in the super-class (AbstractStepContext)
from public methods fail. Protected works, so here I changed all private
methods to protected.
Add some tests
Add complete support for environment variables (EnvInject)
Merge pull request #153 from wolfs/fix-categories

Make Steps work within groovy categories
Merge pull request #150 from CoreMedia/build-pipeline-trigger

Support for Build Pipeline Plugin
Add properties to maven Closure
Merge pull request #155 from wolfs/maven

Add properties to maven Closure
Merge pull request #154 from wolfs/env-inject

Add complete support for environment variables (EnvInject)
Move appendOrReplaceNode to the AbstractHelper to keep it DRY; Rename buildFlowBlock to buildFlow.
Add support for envInject Step & Wrapper
Merge pull request #156 from wolfs/env-inject-step-wrapper

Add support for envInject Step & Wrapper
Added Github Commit Notifier publisher.

Can be used in the publishers block using 'githubCommitNotifier()'.
Removed plugin version attribute.
Added 'Execute concurrent builds if necessary' option for jobs.