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.
Test for bug parsing multiline strings with 'escaped' newlines
Fixed bug parsing multiline strings with 'escaped' newlines
Merge pull request #1919 from DavidMikeSimon/master

Bugfix: Classmap parsing of PHP source with weird escape-like pattern
Add debug output to cache class
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