Switching HTTP(S) username/password credentials to be passed using --config.
This (a) simplifies and regularizes the code, by removing special-case handling for clone & pull;
(b) allows largefiles to be supported (since this extension requires credentials during hg update);
(c) avoids a bug reported in 1.47 relating to removing a username@ from .hg/hgrc.
Also generally cleaning up executable handling, centralizing all code to run hg in the HgExe class.