Rewrite RecentTimeEntriesView.

In order to have the expected behaviour in RecentTimeEntriesView the
internal data structure had to be rethought. This meant most of the view
had to be rewritten.