Windows installation guide

Downloading via file_get_contents & creation of BAT file
Add support for alternative structures
Made repoConfig available for the VcsDriver to be able to provide additional configuration options easily.
Fixed tests
removed composer download
Attempt user/pass authentication for git repos not on github
Store http auth creds by domain only
Look for Auth failed anywhere in errorOutput
Capture user/pass from 'git remote' when updating non github repo
Add ability to call CLI-based commands from an event
Update and refine Scripts docs with CLI-based commands
Semantic Version Parsing: ~version

Implemented `~` according to #643 and used the following versions
as a test case as defined by @Seldaek:

 * "~1.2.3.4" = ">=1.2.3.4 <1.2.4.0-dev"
 * "~1.2.3" = ">=1.2.3 <1.3.0-dev"
 * "~1.2" = ">=1.2.0 <2.0.0-dev"
 * "~1" = ">=1.0.0 <2.0.0-dev"

Refs #643
Expand tests for valid CLI command from script
PHP callables cannot containing spaces
Add test for intermixing PHP callables and CLI commands in a single event's script stack

Wrapped execution of the PHP callable in its own method in order to mock/test it
Make test less brittle

Shouldn't really care about whether the IO is touched.
That's the test knowing too much about the implementation.
Version Parsing: Consider <x.y.z to be <x.y.z-dev

> Consider `<x.y.z` to be `<x.y.z-dev.` Because in 99%
> of the cases that's what the intent is. Could be
> overriden with `<x.y.z-stable`.

- @Seldaek

refs #643
Add support for one-file-per-provider composer repositories
Remove Pool::getMaxId and the solver's reliance on it
Fix package id