This removed the subshell from _determine_vcs_base_and_type so it can
set environment variables.
Because this always runs at the beginning of the scripts, there's no
need to do checking if REPOBASE is unset or if VCS_TYPE is not yet
determined, thus I simplified one function and eliminated which_vcs.
Conflicts:
bin/blackbox_deregister_file
I found this easier to just cherry pick since there was a merge and the
merge was reverted.