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.
added no_proxy handler - fixes #1318

- handle no_proxy directive when building stream context
- using CIDR matching from Zend library
- uses parts of code provided courtesy of @hoffman
fix minor typo
return early if rule is * and remove one level of nesting
added documentation for no_proxy env var
using finder for classmap generator
Removed quotes that escaping generated inside of path in win proxy script

Fixes #2040
Fix detection of versions with git 1.8+, fixes #2065
Fix 5.3.3 build
Oops
use best finder adapter
bumped finder version, reverted warning suppression
simplified extension check in classmap generation