Rubocop

Adds [Rubocop](https://github.com/bbatsov/rubocop) for Ruby static code analysis.

- Picks up stylistics problems in our code
- Lints for possible errors and bad practice in our code
- Checks for smells such as such as class length, method length - see [Sandi Metz' Rules For Developers](http://robots.thoughtbot.com/sandi-metz-rules-for-developers for context)

Have addressed all warnings raised. We can tweak the configuration as needed going forward to suit shared team consensus.
Just personal preference but fair point, agreed with your comment - I'll revoke this.