tg-tag.sh: allow choosing a consolidation commit's first parent
When multiple branches are tagged, if there ends up being more than
one independent head, a consolidation commit will be created and
that will be tagged.
The previously provided `--tree` option allows the tree used for
that commit to be something other than the empty tree.
Now, if one of the things being tagged is explicitly prefixed
with a tilde ('~'), it will be forced to become the first parent
of a consolidation commit if it's not the sole commit being
tagged already and, in addition, if --tree has NOT been used
then it's tree will become the default tree for any consolidation
commit instead of the empty tree (but --tree is always respected
if given).
Signed-off-by: Kyle J. McKay <mackyle@gmail.com>