[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>
A draft test case for https://issues.jenkins-ci.org/browse/JENKINS-20559
This test is a partial copy of a test from https://wiki.jenkins-ci.org/display/JENKINS/Custom+Tools+Plugin (v. 0.4.1)

Signed-off-by: Oleg Nenashev <nenashev@synopsys.com>