Add SSLCompression datastore option.

Also disables the compression by default. TLS-level compression is almost
never used by browsers, and openssl seems to be the only one that enables
it by default.

This also kills some ruby < 1.9.3 code.
Remove &~ bit-clearing method in favor of defaults.

For some reason the OP_ALL & ~OP_NO_COMPRESSION method doesnt work,
but it is late and the default is false anyways.
Turns out & ~ does work.

Decided not to expose this as a datastore option for the Client,
but it can be used internally to toggle the compression.
Reenable the client SSLCompression advanced option.

Add spec for some of the additions to Rex::Proto::Http::Client
Whitespace tweak.
Revert changes to legacy rescues.
Put initialize params back on one line, and move attr_accessors.

As per @hdm's feedback
Kill extraneous comma.
Remove compression options from client sockets.

I couldn't verify that it was working, as it always sends 1 compression type of NULL.
More dead code and tweaks.
More whitespace fixes.
Fix issue with incorrect parameter parsing

Code was looking for -s instead of -a when dealing with domain
queries. This commit fixes that.
Merge branch 'upstream/master' into basic_adsi_support
Merge branch 'upstream/master' into basic_adsi_support
Warn the user about SSLCompression
More comment docs on SSLCompression
Merge pull request #9 from todb-r7/warn-about-deflate

Warn the user about SSLCompression
Update PJL rspec to comply with guidelines

Basically the updated version is more explicit. If a moethod doesn't
return anything but might raise an error, then we focus on that.
Also use . to # for instance methods.
Land #2666, SSLCompression option

[SeeRM #823], where Stephen was asking for SSL compression for
Meterpreter -- this isn't that, but it's at least now possible for other
Metasploit functionality.
Land #2902, updated PJL spec