hgweb: ensure isdirectory is None for repositories, replacing any True value

Until now, repositories did not provide any value for isdirectory in rows
produced for the index output, and thus isdirectory was generally evaluated as
None for each index entry representing a repository.

However, directories (visible when viewed with the descend and collapse
settings enabled) did provide a value of True and this value appeared to
persist in subsequent rows processed by the templater, causing isdirectory
tests in templates to produce incorrect results for index entries appearing
after directories.

This patch asserts the None value for repositories, thus erasing any such
persistent True values.

--HG--
branch : stable
extra : amend_source : 5014a3db624b7ba6cd3b03f1f65b47cb2bbfcad5
pull: close peer repo on completion (issue2491) (issue2797)

When pulling changes from a compressed bundle Mercurial first uncompresses it
to a temporary file in .hg directory. This file will not be deleted unless
the bundlerepo (other) is explicitly closed.

This is similar to cleanup that occurs after incoming.

--HG--
branch : stable
extra : rebase_source : 8a687f3792a7499b01b29b38111bcdfe0784480c
revset: added _hexlist method to replace _list for %ln

Now %ln expression goes through _hexlist and doesn't do any unnecesary
processing anymore.
config: move showconfig code and add config as primary alias

Preparation for adding config --edit to launch an editor

--HG--
extra : amend_source : 1ebe1fb302562b81c03da326896bdd846cdefc63
revert: extract actual revert in its own function

With this small refactoring, the computation of the action to perform and the
actual change to the disk happen in different function. This allows extension to
wrap the later in case of need. The initial motivation is the `remotefilelog`
extension that need to prefetch all the file content to be checked out.

--HG--
extra : rebase_source : 504d6d4abcdb995861e63029d269fc0552af1845
coal: hgweb style adds extra blank line in file view (issue4136)

Now hgweb style='coal' adds no extra blank in file view.

--HG--
branch : stable
extra : rebase_source : 1a20a3bf5da6c7aa496f7c6378abcefe2b50c366
config: add initial implementation of --edit

This launches the preferred editor on either:

a) the first non-empty user rc file found
b) the first user rc file in the search list

--HG--
extra : rebase_source : 820aa3b46049482b89eea4bb98694b8d9a02fbce
extra : amend_source : 0b44454819fdc4577ce2fd8feb82d3beab17af1a
config: add example config file when -e called with no config

--HG--
extra : rebase_source : 2079f109c951717a243c526f2a042f2409ffa2aa
extra : amend_source : f753649a746bfc4a0d9f15d0e88f70916dd6eef6
ui: suggest config --edit when no username is set
merge with stable