Implement commit message saving without modifying bzrlib.
* tests/test_commit.py: (TestSavedCommitMessages.setUp): Install the post_uncommit hook for all relevant tests. (TestUncommitHook.setUp): Use explicit rev-ids to ease debugging.
* commit.py: Fix imports. Integrate SavedCommitMessagesManager so that we don't need to modify bzrlib anymore. (CommitDialog.__init__, CommitDialog._fill_in_files, CommitDialog._construct_global_message, CommitDialog._do_cancel, CommitDialog._do_commit): Stop testing can_save_commit_messages, SavedCommitMessagesManager is always available now. (SavedCommitMessagesManager): Borrowed from Anne Mohsen's patch. (save_commit_messages): Implement the post_uncommit hook.