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.
This solves some TODOs by moving shared code out into
`_blackbox_common.sh`.
New VCS commands were added, `vcs_ignore` and `vcs_notice` (the
opposite of ignore).
Made some utility functions
* `remove_filename_from_cryptlist` - The opposite of `add_file_to_cryptlist`
* `remove_line` - Removes a single line from a text file