tests: rename from test-config-case.t to test-config.t for centralization

Before this patch, there is no test script testing configuration
handling generally. "test-config-case.t" seems to be specific for
testing case sensitive configuration.

This patch renames from "test-config-case.t" to "test-config.t" for
centralization of tests around configuration handling.

--HG--
branch : stable
rename : tests/test-config-case.t => tests/test-config.t
config: discard "%unset" values defined in the other files read in previously

Before this patch, "%unset" can't unset values defined in the other
files read in previously, even though online help document says that
it can. It can unset only values defined in the same configuration
file.

For example, the value defined in "~/.hgrc" can't be unset by "%unset"
in ".hg/hgrc" of the repository.

This patch records "%unset"-ed values in "config.parse()", and
discards corresponding values in "config.update()".

--HG--
branch : stable
largefiles: drop repo wrapping detection

After 257afe5489d4 I see:

  $ hg id -q
  largefiles: repo method 'commit' appears to have already been wrapped by another extension: largefiles may behave incorrectly
  largefiles: repo method 'push' appears to have already been wrapped by another extension: largefiles may behave incorrectly
  be207d9b7e4b

The warning is bad:

* The message gives no hint what the problem is and how it can be resolved.
  The message is useless.

* Largefiles do have its share of problems, but I don't think I ever have seen
  a problem where this warning would have helped. The 'may' in the warning
  seems like an exaggeration of the risk. Having largefiles enabled in
  combination with for instance mq, hggit and hgsubversion causes a warning
  (depending on the configuration order) but do not cause problems. Extensions
  might of course be incompatible, but they can be that in many other ways.
  The check and the message are incorrect.

It would thus be better to remove the check and the warning completely.

Before 257afe5489d4 the check always failed. That change made the check work
more like intended ... but the intention was wrong. This change will thus also
back that change out.

--HG--
branch : stable
largefiles: use repo.wwrite for writing standins (issue3909)

--HG--
branch : stable
test-mq-strip.t: add a test for strip --keep with clean working dir

This helped uncover a bug in a patchset I've been writing.

--HG--
branch : stable
win32: use explicit path to "python.exe" only if it exists

Before this patch, "hg.bat" for Windows environment always uses
"%~dp0..\python" as explicit path to "python.exe".

This path may not be valid in some cases.

For example, on the environment using "virtualenv" python package,
both "python.exe" and "hg.bat" are placed in the same directory.  In
this case, "python.exe" should be found on PATH, because virtualenv
activation script puts "python.exe" on the PATH.

This patch uses explicit path to "python.exe" only if it exists, and
expects that "python.exe" can be found on PATH otherwise.

--HG--
branch : stable