Profiling support for msfconsole boot

Set METASPLOIT_FRAMEWORK_PROFILE=true in the environment.  Run
`./msfconsole -q -x exit`.  A pdf will be saved to
tmp/profiles/msfconsole/YYYYMMDDHHMMSS.pdf with the call graph with
numbers being in 100 samples per second.  The pdf is automatically
opened with `open`.
Remove fastlib

MSP-11368
MSP-11143

Remove fastlib as it slows down the code loading process.  From the
previous commit, the mean loading for
`METASPLOIT_FRAMEWORK_PROFILE=true msfconsole -q -x exit` was
27.9530±0.3485 seconds (N=10).  The mean after removal of fastlib
was 17.9820±0.6497 seconds (N=10).  This means an average 35.67%
reduction in boot time.
Use Rex::Compat.open_file to open profiling report

MSP-11368

Use Rex::Compat.open_file instead of `system('open <pdf>')` so that
opening the pdf works on Linux in addition to OSX.
Wrap Array#include? usage

MSP-11368

Wrap skipped.include? call to confirm it is the culprit for
Array#include? inside of with_connection in profile.
Optimize skip logic in #update_all_module_details

MSP-11368

Use `Hash<String, Set<String>>` instead of `Array<(String, String)>` so
that `include?` call is faster because (1) it's only search through
reference names of the same module_type and (2) `Set#include?` is faster
than `Array#include?`.  This change is a 8.20% average reduction in boot
time compare to b863978028f4414ec19f3b53d3498bf1a459974d, for a overall
reduction of 40.95% over b5c3c87790f08b2cb6b986fa4e22e8674e5ed153.
See statistics at
https://docs.google.com/spreadsheets/d/1TnZIUFIR1S5nCnkeM-7XR3AVSbyCl39x2mItJKJCOqg/edit?usp=sharing
and data at
https://drive.google.com/folderview?id=0Bx1hRHfpRW92VEFvQ2FaN3RoWWs&usp=drive_web
Decode the badchars string correctly.
Update BrowserExploitServer for JSObfu
Update rspec
Last changes
Fix os detection rspec

no more window
Update js_obfuscate
Chagne option description
Default to 0
Update js_obfuscate
upate doc
Move jsobfu to a mixin
avoid saying 'should'
Fix a typo

Downloading and deleting are two very different things. Thanks Dan.
Land #3840, @wchen-r7's tweaks to os.js and module addition.
Land #3843, typo fix for download_file