Windows installation guide

Downloading via file_get_contents & creation of BAT file
Add test for fancy branch names, refs #935
urlencode() github calls for safety, refs #935
Add --profile flag to display very basic profiling metrics
Fix tests, fix handling of branches with slashes in GitDriver, fixes #935
Reduce memory usage by only loading packages that are actually needed, fixes #456
Add support for aliases in streamed repos
Clarify variable variable usage
Clean up Installer::aliasPackages()
Remove duplication of branch alias parsing code
Rename variable for clarity
Remove code duplication
Add loadAliasPackage to the StreamableRepositoryInterface and clear up responsibilities between Pool and Repositories
CS cleanups
Rename Package interfaces to reduce BC issues
Clean up link creation
Add RepositoryInterface::filterPackages to stream ops on lists

This cuts down on memory usage and also speeds up the search command to a third of its previous time
Convert search command to use the filterPackages method
Update init and depends commands to use the new filterPackages method
Update create-project and show commands to use the new filterPackages method