Extract notifier code into a method

This removes the notification code from the Runner, which make the Runner
a more cohesive object. This has 2 primary:
* making it easier to test the notifications in isolation
* making it possible to pass the notifier into another object
  (which I'll make use of in a later commit to pass the notifier into
  a Repository object)

This should improve the CodeClimate score as well.
Add a repository class

This class should eventually encapsulate all the git related calls.
Clone, available_remotes, and available_branches has already been
migrated.