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.
This makes the beginning of all files the same and a little simpler.
`${0%/*}` turns "/home/user/repository/bin/blackbox_edit" into
"/home/user/repository/bin", exactly like basename but without eating a
process.
Because other scripts needed `$blackbox_home` I made this into a
standardard variable that's always available.
This also loads _stack_lib.sh always because _blackbox_common.sh
requires it.
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