Define `magit-blame-{prev,next}-chunk' using `{previous,next}-single-property-change'

Define `magit-blame-{prev,next}-chunk' using
`{previous,next}-single-property-change'.

This replaces a lot of broken code with the use of functions already
provided by Emacs.  The old code was broken in at least these ways:

* going backward always jumped to the beginning of the buffer (#937)
* going forward sometimes just moved a character forward