replace magit-blame.el with a new implementation

The new implementation annotates the buffer asynchronously
and supports recursive blaming.
Merge branch 'n/blame' into next