config variable package is now called bs_package

i'm going to adopt the bs_ prefix for all the config
variables.  the original reasoning for having (or not)
the prefix, that is, whether the value is BS-specific
or not (package is not as this value is used in the
upstream url and tarball) does not look so strong anymore.

i think it makes more sense to repurpose the prefix for
bs-update in general.  the other config vars will follow.
config variable dloadurl is now called bs_dloadurl
docs: the list of config variables is to be sorted
docs: the config variables list mentions bs_package
variable holding the TAG argument is called bs_tag

this is not a .bs-update variable, but it still makes sense
to namespace it as it is part of the interface.
variable version is now called bs_version

while not documented, it can be used in config.  indirectly,
through $tarball, it already is.
config variable dry_run is now bs_dry_run

while not documented per se, it is initialized before the
config files are read and command line processed, so it
should be namespaced.
namespace change from bs_ to bsu_

motivation is that i want to retain the "Build Service" meaning
for bs_, see below.

bs_dloadurl is now bsu_dloadurl.

bs_project, bs_package are now bsu_bs_project and bsu_bs_package.
while they can be used in the upstream-defining bsu_dloadurl,
their meanings *are* Build Service project and package, resp.

i might introduce -U (upstreamm project) and -u (upstream package)
some time later, for symmetry.  or not, we'll see.

bs_tag -> bsu_tag

bs_version -> bsu_version

bs_tarball_hook -> bsu_tarball_hook
config variable tarball is now bsu_tarball

it's not yet directly user-settable, but i want to be ready.
expand, usage, $SELF defined after config files are read

i don't feel it's necessary to namespace these, and they
need not pollute dotfiles or risk redefinition.

while i'm at it, expand -> deref, see expand(1) for rationale.
tests: fake can be muted in .bs-update

BSU_QUIET_FAKE=1 in a test's .bs-update keeps tape.actual
empty; OTOH, the tests really need to use the mocks, otherwise
they're prone to spam third-party systems or screw filesystem
contents.
impl. detail: usage function user-friendlier
bs-update -t TARBALL => bs-update -d URL -t TARBALL

tests/170-option-dloadurl/, tests/330-no-option-dloadurl/ test -d
tests/200-option-tarball/, tests/320-no-option-tarball/ test -t
all tests have README files
all tests have .bs-update

all the newly added ones have BSU_QUIET_FAKE=1,
i *really* don't want to hammer the OBS with futile
requests (or worse).
commit message for osc(1) configurable

through bs-update -m "$text" or bsu_commitmsg in .bs-update.
defaults to the previously hardcoded value.
it is subject to deref.
tests for "missing optarg" states named as such
mv tests/190-option-n => tests/190-option-dryrun

it was the only option test named after the option letter,
the rest are named after the values the options represent.
tests: bs-update -n is tested after all other options

this test depends on those other options working correctly.
deref invocations w/ properly quoted operands

strips one line off the tape for each deref invocation.