[FIXED JENKINS-19454] - Added DecoratedLauncher implementation to the core.
This launcher Allows subclasses to only implement methods they want to override.
Originally, this launcher has been implemented in Custom Tools Plugin, but there are many duplicates in other plugins => it would be useful to have it in Jenkins core.

Resolves https://issues.jenkins-ci.org/browse/JENKINS-19454

Signed-off-by: Oleg Nenashev <nenashev@synopsys.com>
[FIXED JENKINS-20559] - ProcStarter: Check for null before cloning of environment variables list

Resolves https://issues.jenkins-ci.org/browse/JENKINS-20559
BTW, I also need to add some tests to "Test Harness" in order to improve coverage of nested operations.
These test require a fix for https://issues.jenkins-ci.org/browse/JENKINS-19454

Signed-off-by: Oleg Nenashev <nenashev@synopsys.com>
[JENKINS-20559] - A direct test for the bug

Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
Merge pull request #1013 from synopsys-arc-oss/launcher_fixes

[FIXED JENKINS-20559 and JENKINS-19454] - hudson.Launcher bugfix and additional wrapper