Lock access to conf/incoming file

With really bad timing we might run into something like this:

| + sudo reprepro -v -b /srv/repository/release/release-42-rc1 --waitforlock 1000 --ignore=wrongdistribution processincoming release-42-rc1 foo_23.1_amd64.changes
| Multiple definitions of 'release-42-rc1': first started at line 2 of /srv/repository/release/release-42-rc1/conf/incoming, second at line 11 of /srv/repository/release/release-42-rc1/conf/incoming!

Use flock(1) from util-linux to lock access to the
conf/incoming file.

Closes: MT#4751
Development sponsored by Sipwise GmbH
Allow debian-glue to read gbp.conf

For generate-git-snapshot, try read upstream branch, debian branch, and
status of pristine tar.
build-and-provide-package: get rid of dependency on dcmd

When running via PROVIDE_ONLY the build-and-provide-package would need
the dcmd from devscripts, but we'd like to avoid dependency on devscripts
for repository hosting hosts. Since dcmd is quite a trivial script overall
let's just replace it with our own code.
Rework new gbp.conf handling

In commit 9d5366f9db7 the gbp_opts function was reused, so rename
it to gbp_conf instead. Also do not fail if 'git config --file ...'
calls fail.

Additionally support the IGNORE_GBP_CONF setting to allow skipping
execution of gbp_conf.