magit-{log-reflog-re,refresh-reflog-buffer}: better format

Drop the unnecessary "*" prefix.  Do so not only in the format and
regexp, but also in the display.  And replace the unnecessarily ugly
separators in the format and regexp.
magit-log-reflog-re: deal with git-merge inconsistency

Other commands put the revs and refs they deal with after the colon.
Before the colon goes the command and in some cases details about the
command, i.e. what variant of the command is used or in what mode
command was performed.

  rebase -i (finish): commit message

`git-merge' confuses the order and the position of the colon.

  merge branch-name: Fast-forward

Adjust the regexp to pretend the colon comes before the branch-name.
Ignore the detail part for now.
magit-reflog-subject-re: remove unnecessary complication

"-" doesn't have a special meaning at the beginning of '[...]'.
And right after '^' is still "at the beginning".
magit-reflog-subject-re: remove strange submatch

I am not aware of any git command that would produce this "status" part
and this might actually match to much when `update-rev' is used directly.
Use `user-error' instead of `error'.

Function `user-error' is new in GNU Emacs 24.3.  A fallback to `error'
is provided for older version.  It is supposed to be used in case of an
incorrect manipulation instead of a real error.  GNU Emacs will not
enter the debugger for a `user-error' even if `debug-on-error' in
enabled.  Which makes life a lot easier for us elisp developers.

Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
Adapted-by: Jonas Bernoulli <jonas@bernoul.li>

(Don't change `magit-key-mode.el' to avoid merge conflics, fix
a whitespace error, fix typo in commit summary, and keep using
`concat' to build long messages.)
Merge branch 'pr/user-error'
magit-refresh-reflog-buffer: use git-reflog

Use the git command `reflog' to display the reflog,
not `log --walk-reflogs'.  That's ... simpler.
reflog: also insert reflog identifier

but abbreviate it to just a number.
magit-log-margin-set-timeunit-width: new function

Extract `magit-log-margin-set-timeunit-width' from
`magit-refresh-log-buffer' so that it can be used elsewhere to.

Actually we should refactor the involved variables so that this only
has to be done when setting the "main" variable.  But there are other
things that should be improved here.  For users sake delay addressing
this particular point to avoid changing the options several times.
reflog: support displaying the log margin
Merge branch 'pr/reflog'

Conflicts:
	magit.el
magit-stgit-show-patch-name: new option
magit-stgit{,-faces}: new custom groups

Because the `magit' and `magit-faces' groups are getting to crowded.
magit-topgit{,-faces}: new custom groups

Because the `magit' and `magit-faces' groups are getting to crowded.
Merge branch 'pr/topstg'
add kludge for issue #1162
magit-change-what-branch-tracks: don't call magit-branch-manager

That function was called to trigger a refresh of the buffer,
but the `magit-refresh' on the next line does the same thing.
Merge branch 'pr/branch-manager-kludge'
magit-wash-raw-diff: never delay parsing hunks

Close #1128.  See that issue for an explanation.

For now just comment the offending code, it will most likely be removed
later on.  The other code involved in this and sprinkled across Magit is
left as is, as without the part commented here it cannot do any harm.
magit-show: erase-buffer before recreating content