This merges functionality that was previously stored in the
combination of PBGitCommitController / PBChangedFile to a
dedicated controller, PBGitIndexController.
This adds a div in the webview to display the current commit
state. It allows us to notify the user of new commits by
showing something in the webview, rather than a modal
dialog.
Since Git recommends to use 50 characters in the first line of a commit
message, this adds a vertical line to the commit message view to show where
the 50 char limit is.
[PB: This preference can be changed using a user default -- for now we don't
have a preference pane yet, so this is hidden.]
Previously, we would try to copy the view selector from within
the RepositoryWindow, so we could reuse it and change it if we
need to.
However, that causes problems if you have another window open:
if we try to add an item using the insertItemWithIdentifier:atIndex:
method, the item will be added to _all_ toolbars with the same
identifier, even if those toolbars already have the item!
As I see no easy way to fix that, we completely avoid the issue
by not inserting any objects and just copying the view selector
from view to view.