User variables implementation

Implementation for #219 

- [x] Template parsing should understand variables
- [x] Builds should have variables
- [x] Builds should be able to set variables
- [x] Builds should pass variables into all `Prepare` methods
- [x] Common should provide a way to extract this out of config and set it on a Template
- [x] Migrate everything over to the system.
- [x] Ability to specify variables on the command line
- [ ] Ability to specify variables in a JSON file