Ensure SNI details are always set on socket creation

In PHP versions <5.6, SNI is not handled correctly unless the context
options are set at the time of socket creation. This causes Apache to
return 400 responses to HTTPS requests, as the hostname specified in
the Host: header does not match the name indicated by SNI.

More info on the Apache-specific effect of this can be found here:
https://bugzilla.redhat.com/show_bug.cgi?id=1098711#c7

This patch addresses the problem by always setting the SNI_server_name
for every socket at creation time. Unfortunately the nature of the
problem combined with the manner in which connectors work means that
this is done to every socket regardless of whether it will be used
for SSL or not, but this does not have any adverse effects except the
microscopic performance hit of creating a stream context where it is
not needed.
Merge pull request #11 from DaveRandom/patch/SNI-fix

Ensure SNI details are always set on socket creation