tools: Add git-mfc
This is a utility that effectively wraps git-cherry-pick for performing
MFCs, though it has some other usages. In addition to actually
cherry-pick the specified commits, it looks at the upstream branch for
fixup commits, denoted by a Fixes: tag which references the fixed
commit.
Aside from actually cherry-picking commits, git-mfc can also be used to
list pending MFCs (commits in the upstream branch which are eligible for
MFC based on the MFC after tag), and "dangling" MFCs, where a commit
was MFCed to the currently checked out stable branch, and the upstream
branch has one or more fixup commits which have not been merged.
The utility requires python and the gitpython module.
Reviewed by: des
Differential Revision: https://reviews.freebsd.org/D57845