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.
Add basic ADSI enum of users and computers
Add support for general domain queries

Specific queries are just wrappers over the top of the domain query
Fix rendering of result total
Added page size setting
Merge branch 'upstream/master' into basic_adsi_support
Fix issues with missing params on computer enum

No more late night and rushed commits, its still and wastes people's time.

Thanks sinn3r for getting on this. Apologies for the poor quality of the PR.
Fix page size and max results
Add firefox platform, architecture, and payload.

* Enables chrome privilege exploits in firefox to run a javascript cmd
shell session without touching the disk.
* Adds a spec for the addon_generator.
Add firefox paylods.

* Adds support for windows or posix shell escaping.