branch: strip whitespace before testing known branch name

Because dirstate._branch() strips leading/trailing spaces from .hg/branch,
"hg branch ' foo '" should abort if branch "foo" exists in another head.

tag command had a similar bug and fixed by 3d0a9c8d7184.

--HG--
branch : stable
extra : rebase_source : 2d27fcac538a6751669261b68a1149b859d191f7
splicemap: support paths with spaces in splicemap (issue3844)

Shlex module was used to split line as suggested. Split operates in POSIX mode.

--HG--
extra : rebase_source : ee9baf20baaf43ab70a972ab977a8a3cc5b9479f
pathencode: grow buffers to increase safety margin

--HG--
branch : stable
extra : rebase_source : 879a835c1dc329564197b7b3a123ae343cbae758
i18n-pt_BR: synchronized with 27013ace80eb

--HG--
branch : stable
httpclient: upgrade to fe8c09e4db64 of httpplus
help/config: note 64-bit Windows registry key used with 32-bit Python

Before this patch the only place that documented the use of a different
registry key was on the wiki page for installing on Windows from
sources, while most users will use a pre-packaged installer and the
supplied help files.

This patch documents in the supplied help files that an alternate
registry key is used for the installation/system configuration file when
using 32-bit Python on a 64-bit Windows.

--HG--
branch : stable
merge with stable
merge with i18n

--HG--
branch : stable
i18n: fix partially-translated prompts (issue3928) (issue3929)

--HG--
branch : stable
merge with stable