Initial support for parsing common/alt names

This appears to follow both the specification and browser behaviour, but this
should be double-checked before merge.
Use stream_context_get_options() for 5.2 support
Use a more descriptive SSL failure error
Test expired and revoked SSL certificates
Document certificate verification method params
Add SNI, SAN and invalid domain tests
Mark SSL tests as skipped if we don't have support
Split SSL handling into a separate class

This makes it easier to test, as it means we don't need to test against live
APIs.
Add tests for SSL handling
Move EE root CA to the top of the file

Fixes an obscure bug with OpenSSL 0.9.8j and lower. Props @dd32, see
http://core.trac.wordpress.org/changeset/25569 for prior art.
Merge branch 'common-name'

Add support for parsing common/alt names for SSL requests. Fixes #63