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.