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

Summary:
* A fix for NPE in hudson.Launcher.ProcSrater::envs() 
* A DecoratedLauncher code, which is being duplicated by many plugins (Custom Tools, etc.)
* A test for JENKINS-20559, which uses a DecoratedLauncher

Noting:
<plaintext>
<li class=bug>
    Uninitialized Process Starter environment may cause NPE in build wrappers
    (<a href="https://issues.jenkins-ci.org/browse/JENKINS-20559">issue 20559</a>)
  <li class=rfe>
    New API class: DecoratedLauncher, which delegated all call to nested launcher
    (<a href="https://issues.jenkins-ci.org/browse/JENKINS-19454">issue 19454</a>)
</plaintext>
The last bullet is a reason, why these changes have been merged into a single PR