[git-rebase-chain] Added support for custom parents for branches.

When specifying branches or branch ranges, a parent SHA1 can now be
provided to specify where the rebase should start. This is done by
specifying the branch as '<parent_sha1>:<branch>', or
'<parent_sha1>:<branch1>..<branch_n>'.

This helps eliminate conflicts when amending a branch somewhere in a
chain and then rebasing the remaining branches. By specifying the
starting point for the rebases, it won't have to try to rebase the
previous version of the amended commit.