Convert user/pass tokens to ASCII in db.rb

This commit fixes an Encoding::CompatibilityError incompatible
encoding regexp match (ASCII-8BIT regexp with UTF-8 string) when
sanitizing non-printable tokens from a user/pass string.

The UTF-8 strings are derived from strings passed through the
module.execute RPC call.
enable stage encoding for reverse_http(s)
Move optional gems to bundler groups

Some users are having trouble installing pcap.  Others want postgres to
remain optional.  The move to requiring bundler in a git environment has
made this hard.

This commit provides a path for these users.  By default, bundler will
install all gems, including postgres and pcaprub.  If it fails to
install some, Metasploit will not function.  But there is hope.  Users
can explicitly exclude the gem groups they don't want.

For example:

    bundle install --without db pcap

will exclude the pcap and postgres gems (and their depedencies).

    bundle install --without db pcap development test

will exclude all non-essential gems.

The good news is that the user only needs to use the `--without` option
once.  Bundler will remember it.  So future runs can still do `bundle
install` (or simply `bundle`) and the gems will still be excluded.  And
if the user changes their mind and wants the optional gems, they can
remove their stored *without* preference using:

    bundle config --delete without

[FIXRM #7891]
Fix specs with bundler groups

Also output warnings when running Rake when the db group isn't included.
Merges #1728, makes some gems optional for bundler

Verified that pcap, db, and test can be skipped now, should make
Zero_Chaos happy.
Land #1721, Stage encoding for reverse_http(s)

This was an oversight when originally re-enabling stage encoding.

[See #1316]
Merge branch 'encoding_fix' of git://github.com/rsmudge/metasploit-framework