Allow user to set ssl cipher

Rex::Socket::Tcp now allows the user to specify a cipher or ciphers to
try and use for the ssl connection in addition to the version.
Start adding sslscan results object

Building out the result object for the SSlScan
finish up the SSLScan::Result class

finishes up result class for SSLScan , compelte with tests
Add enumeration and support options

i lied, there's more. Adds two enumerators and methods to check for
specific ssl version support as well as a quick method to tell if the
server supports ssl at all.
De-dup cipher results
empty shells for the scanner and its specs
fix stupid datat structure

also supports a boolean value for whether the cipher is weak or not
More support for various checks
Finalize specsfor Result class
Beginings of the actual scanner

configuration and configuration validation in place with tests.
Accept propper formats for SSL version

we were only accepting sloppy string values and not accepting input of
the actual symbols that OpenSSL expects in the first place. Allow the
user to enter it right themselves to be compat with OpenSSL
Test Cipher method underway

Trying to get a clever test plan under way to actually test the network
side of this. Not quite working yet
Scanner class finished, result needs more work

the result class needs a nice clean to_s method to print easily readable
output. mostly working now. a few more tweaks needed.
In the final stages
Cleanup to_s output
first minor cleanup
Add some YARD docs
Add socket context option

Add the option for a socket context so pivoting will work
fix timeout

20 seconds is way too long for jsut opening a socket
fix weak and strong cipher enumerators