rebase: keep original mq patch format (Issue1574)
Rebase now doesn't make assumptions about which format has been
used for a mq patch (git or normal).
Before finalizing a patch it keeps track of the original format,
by reading its header, and then restores the format when reimporting
it.
This way it also allows for having mixed styles.
Note: this version corrects a failure in the test
changeset: 0:9426b370c206
tag: tip
user: My Name <myname@example.com>
date: Mon Jan 12 13:46:40 1970 +0000
summary: commit-1
changeset: 1:4997f15a1b24
tag: tip
user: foo@bar.com
date: Mon Jan 12 13:46:40 1970 +0000
summary: commit-1
changeset: 2:72b8012b424e
tag: tip
user: foobar <foo@bar.com>
date: Mon Jan 12 13:46:40 1970 +0000
summary: commit-1
changeset: 3:35ff3067bedd
tag: tip
user: foo@bar.com
date: Mon Jan 12 13:46:40 1970 +0000
summary: commit-1
abort: Please specify a username.
No username found, using user@host instead