magit-maybe-save-repository-buffers: bugfix

The intercepted message might contain a % which is
meant literally, make sure we don't choke on it.
preserve blob information in diff headers

Currently we remove the diff headers when washing diffs.  Instead
we store the "relevant information" in the section object.  Until
now the information needed to `git apply --3way' was not saved.
Now we store it in the new BLOBS slot and then regenerate the
respective line in `magit-diff-file-header'.

In the long run it is probably better to not remove the headers,
and instead just make them invisible.
magit-apply: with prefix argument use --3way
magit-apply-three-way: new option
Merge branch 'n/3way' into next