nodelabel support

Adds support for:
- labelParam for freestyle jobs
- nodeLabel for downstream and multi(phased) jobs

Code is split into three commits, one for each part of the plugin and one for unittests.
One final commit for the docs.

At a later date nodeParam will need adding for freestyle jobs but this should cover at least some use cases.