Rewrite gutter views in React

This will make it much easier to update the view after it becomes visible. This
PR is just a rewrite though and I haven't added any functionality. That can
come later.

So far this is a work in progress, but it is usable at the moment (with my
hacked copy of Atom anyway). I'm posting the PR early to get feedback and see
if there is interest.

There are a few TODOs before this will be ready to merge:

- [x] Find a solution to issue with duplicate copies of React
- [x] Try to fix the slight delay when clicking in the editor
Any reason why this logic/state cant be in a helper function on the BlameListLinesComponent instead of inside the `render()`?