Refactor changes view

This change should make it easier to implement some of the features regarding the changes tree panel, such as #19, #20, #22, #80. These features will most likely include changes to the <code>RepositoryChangesBrowser</code> component.

However I had to introduce one small minor issue, since I wanted to separate the components a little more: details for a ChangeInfo object selected in the list panel are now loaded twice (two rest calls). I will look into changing that in a sensible way. As of right now, I think it makes sense to separate the involved components a little more, since the <code>GerritToolWindow</code> class contains a lot of code at different levels of abstraction.