Allow for greater SSL support in HttpSocket

This pull request is a different solution to: https://github.com/cakephp/cakephp/pull/3295

I have a different solution for #3295. I don't think that CakeSocket should be handling anything with Http or Https, that should be handled by the HttpSocket class. In addition, there is an unused variable, protocol, that could be used to allow the scheme to remain https, but the protocol to change to ssl or sslv2 or sslv3. I think the default for https should be ssl, but if the dev wants to use a different protocol, that should be the devs choice. 

I submitted a pull request that adds functionality to the protocol variable and moves the https code to the HttpScoket class. On top of that the dev can now override the protocol in the constructor to use the protocol of his/her chocie. If none is specified, it still uses tcp by default and ssl for default https connections.