reimplement wazzup from scratch

The last commit additionally switches from `git log` to `git cherry`. This could be made optional. However because I am considering to eventually stop using `git cherry' completely and instead display cherries everywhere, adding an option would mean that at some point someone would say we should not have removed it, so I would prefer just not to offer the option. (The cherry-everywhere thing would be implemented in elisp and use a cache. Furthermore the information would be updated asynchronously, so this would not cause any noticeable delay.) It's not something I am going to do tomorrow, so I can probably be convinced to add the option, if someone feels like it is needed.

Also sorry for the big commit in here - I saw no good in tearing down the old implementation step by step and then building up the new one.