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.
- 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