Add github-domains config value for GitHub Enterprise setups, fixes #728

Signed-off-by: Gennady Feldman <gena01@gmail.com>
Updating ConfigCommand so that we can set github-domains from the command line.
First working version of GitHub Enterprise API.
Fixing broken unit test.
Validate the originUrl against the list of 'github-domains' from the config.
Refactoring my code to use a protected function to generate API Url.
Adding Config as parameter to the Driver::supports(), updating all drivers, user and tests.
Per request from Jordi Boggiano (Seldaek) making Config 2nd parameter in supports()
added support for file:// url to repository

file:// is valid url even if it does not define a host.

allows to define a repo like this (local directory generated with
composer/satis):

```json
{
	"repositories": [ { "type": "composer", "url": "file:///home/cebe/dev/jescali/xeno-core/core/repo" } ],
	"require": {
        ...
	}
}
```
Merge pull request #2386 from cebe/allow-file-url

added support for file:// url to repository
Remove dead code, fixes #2363
Merge pull request #2375 from gena01/github-ee

Fixing #728 Adding basic support for Github Enterprise
Fix target-dir update checks, fixes #2395
Retry on some 5xx errors

`composer install` gives me some intermittent 502 errors on github. Composer already does some retries. I think, on 502, 503 and 504, we should retry.
Merge pull request #2397 from smaftoul/patch-1

Retry on some 5xx errors
Fix authentication issue with subversion 1.8
Merge pull request #2399 from wouter90/subversion

Fix authentication issue with subversion 1.8
Fix URL sanitisation regexp being too greedy
Pass IO instance to ProcessExecutor for logging
Capture output, stopping errors showing up if p4 is not available