Refactor changlog functions to allow multible calls to VundleChanglog.

Small bugfix. The bug appears when you have Vim running for a while, use `VundleChangelog` twice. Vim "hangs" with the cursor in the command line (at least with my settings for dialogs) because it tries to `silent pedit` a buffer that is loaded but changed in the background. The problem is [line 105](https://github.com/lucc/vundle/blob/8db3bcb5921103f0eb6de361c8b25cc03cb350b5/autoload/vundle/scripts.vim#L105).

To reproduce the bug try this:
1. open Vim
2. run `PluginUpdate`, afterwards press `u` to see the changelog
3. keep Vim open and `git reset --hard` one of your plugins to an outdated commit or tag (this will fool `PluginUpdate` to think that there are things to update)
4. run `PluginUpdate` again and press `u` afterwards. No Vim will "hang" (you can just press `ESC` or `CTRL-C`)

Note: These changes overlap with #450. Depending on which one will be merged first I can rebase the other one.