replace magit-blame.el with a new implementation

The new implementation annotates the buffer asynchronously and supports recursive blaming. There are also a few other, less exiting differences. This new implementation does not derive from the old one, except that some symbols keep their names and things like that.