Template Job Creation from CLI

- Allows users to define params in CLI to substitute for arguments in a job template.
- Added simple refactors to some code, functionalized really useful blocks of code.
- Added `run-after-finalised` option to `publishers::copy_to_master` for the CopyToSlave plugin
- Stricter checks all-around for `YamlParser`

**Example Usage**

```
jenkins-jobs template-test template_file.yaml unit-test-job-{branch}-{sha} --params branch:my-branch sha=randomStringYay
```

**Purpose**
- Allow dynamic creation of jobs based on injected properties
- Provides some meta-management to Jenkins