Some changes related to syntax and language usage:
* Used python3 string formatting in various places
* Replaces existance and value checks on dictionary with get method usage
* Simplified logic in a couple of places
* Replaced mutable default parameters (can cause serious problems as default parameters are only ever instantiated once!)
Merge pull request #1 from Andrew-Crosio/generic_improvements

Some changes related to syntax and language usage