Fix tilde constraints without a stability suffix to work like wildcard constraints.

With this fix, a tilde constraint such as ~3.1 won't match unstable versions of 3.1,
but a wildcard constraint such as 3.1.* would.  This seems like a confusing
inconsistency, and so I have corrected it.
Refactor wildcard matching to use manipulateVersionString
Formatting updates for PSR-2 compliance.
Fixed lower bound of tilde and wildcard matches.

The lower bound of ~1.2 and 1.2.* style version requirements now uses >= 1.2.0.0-dev instead of
> 1.1.9999999.9999999.  This is more straightforward to read, and behaves equivalently.
Fixed upper bound of wildcard matches.

Follow-on from 95b4348afa2ee335d9dc1f9e2fecf579b49f7ddf
Detect version based on tag if HEAD points to a tag.
Fixed the existing test and added a new one for git tag version guessing.
Use --tags to get non-annotated tags as well.
Only compare branches as versions in the policy to sort packages, but not in the solver, fixes #1817
Skip pear tests when repos are unreachable
Remove unused variable $version from RootPackageLoad::load

$version is not referenced anywhere past the removed declaration.
Remove unused variable $valid from ConfigValidator::validate
Remove unused variable $dialog from RequireCommand::configure

I traced the get and getHelperSet to Symfony's Console\Command and Console\Helper\HelperSet, and there was only stored variables being retrieved (no actions being done that'd require these functions to be called).
Add class property Compiler::$version

Compiler::$version is referenced within compile, addFile, and getStub
Merge pull request #1926 from Adduc/patch-1

Remove unused variable $version from RootPackageLoad::load
Merge pull request #1928 from Adduc/patch-3

Remove unused variable $dialog from RequireCommand::configure
Merge pull request #1929 from Adduc/patch-4

Add class property Compiler::$version
Merge pull request #1927 from Adduc/patch-2

Remove unused variable $valid from ConfigValidator::validate
Merge pull request #1922 from Seldaek/matchbranches

Only compare branches as versions in the policy to sort packages, but not in the solver, fixes #1817
Test InitCommand::parseAuthorString()