style(docstrings): use consistent syntax for return values
style(bash): initial work towards a more consistent bash style
fix(bash): fix quoting issue with ${T}
style(pmerge): sort imports and use submodule namespaces
style(bash): use more informative variable names
fix(bash/helpers): fix new* helpers for files matching '-*'
fix(bash/exit-handling): don't pass args to ebuild death hooks

Currently only four eclasses (java-utils-2, multiprocessing, toolchain,
and chromium) and sys-apps/sandbox in the main tree appear to use
EBUILD_DEATH_HOOKS and none of them use the args that are passed in.

However, the multiprocessing death hook breaks when args are passed
since the hook calls `wait` and the args (in this case the specific
failure message when an ebuild using the multiprocessing eclass breaks)
gets appended to the command which only works with PID arguments.

Therefore, we'll just run the hooks without passing the generic failure
messages as args since they should be handled/shown by the die function
at the PM level anyway.
fix(bash/exit-handling): terminate non-helper subshells on failure

Previously subshells spawned by the build process such as those used via
the multiprocessing eclass weren't being terminated properly when die
was called. This potentially allows the build process to continue all
the way to to merging files onto the livefs even though part of the
build failed.

Now we throw SIGUSR1 for helper deaths (which enables a slightly
different handler/error message) and SIGTERM for all other subshells.

Note that this requires >=bash-4 for usage of $BASHPID but we're already
using it other places (such as for $PKGCORE_EBUILD_PROCESS_PID) without
any fallbacks so we don't care.