zsh_completion: make use of `debuglabelcomplete` command

Use `debuglabelcomplete` command when populating labels list, instead of
calling `hg` three times: for branches, bookmarks and tags. Do not pass string
being completed to `hg debuglabelcomplete` (as `$words[$CURRENT]`), since it
breaks `_hg_revrange` completion (`--rev 2.5:2.5.<Tab>`) for no apparent
benefit.
Also complete `hg view` with labels, not just tags, and drop unused `_hg_tags`.
obsolete: ensure all markers have a date

Obsolescence creates a sparse DAG mostly composed of a lot of small independent
chain of markers. Date is the only simple and "reliable" way to sort them. The
existence of a date is now enforced at creation time as I'm more and more
convinced that date will have a key role in obsolescence markers exchange.
setup: make error message for missing Python headers more helpful
tag: clarify cryptic error message when tagging null revision

--HG--
extra : rebase_source : 76edda5a4fa1988177262c2bfcfcdbb29af89932
lock: if we fork, ensure that only the parent releases

This prevents us from having a bunch of errant worker processes all try
to release a lock if a problem occurs. (Releasing the lock more than once
is harmless; it's invoking the associated callbacks we want to avoid.)

--HG--
extra : rebase_source : e6051791b896308f5c70d42c70dcbacee46f21b9
worker: catch all exceptions, try to exit usefully/safely

--HG--
extra : rebase_source : 97a6a3f05b9afc9982fb404bb76745038aeaeb16
amend: support amending merge changesets (issue3778)

--HG--
extra : rebase_source : 840d601096324cdad07a904ca6296b77a206f899
scheme: don't crash on invalid URLs

--HG--
extra : rebase_source : 88baab61c47386b151d8af94ccb39c2afaafbf2c
util: improve doc for checkcase

--HG--
extra : rebase_source : 2c2ae0e322dbed77fe0ffe9916f876b52685d974
test-commit-amend.t: fix check-code violation from 3a72c89a83ec