Allow overriding the checkout branch and tag passed to git
commands.

If you do:

make checkout BRANCH=somebranch

Then all repositories will be checked out from the branch "somebranch".

If you do:

make checkout TAG=sometag

Then all repositories will be checked out using the tag "sometag".

If BRANCH and TAG are omitted from the command-line of "make checkout",
then the default values of the branch and tag hardcoded in the
do_checkout.sh script are used.
Right now, each repository has a different default value for the
checkout branch and tag.

It is possible to override the checkout branch on a per repository basis.
For example, if you do:

make checkout GIT_FREEBSD_BRANCH=craig/fixbranch

then when the FreeBSD repo is checked out, instead of checking out
the FreeBSD src tree from the "feature/unified_freebsd" branch,
it will check out from the "craig/fixbranch" branch.

The following variables can be overridden:

GIT_FREEBSD_BRANCH
GIT_PORT_BRANCH
GIT_ZFSD_BRANCH
GIT_TRUENAS_COMPONENTS_BRANCH