Refactor project

- use Guard::Compat
- setup Guard::RSpec
- setup Guard::RuboCop
- fix RuboCop offenses
- break up main class into smaller (by responsibilities)
- rebase to imathis/master