Update BrowserExploitServer for JSObfu

This updates the BrwoserExploitServer mixin to work with the updated version of JSObfu.

Verification steps:

- [x] Make sure travis pass
- [x] Run windows/browser/ie_cbutton_uaf on a vulnerable xp to make sure the information gathering stage of BES is working.

Note that there is a new method #js_obfuscate. I added this method because typically in browser exploits we obfuscate like this:

```ruby
if datastore['OBFUSCATE']
	js = ::Rex::Exploitation::JSObfu.new(js)
	js.obfuscate
end
```

I don't really like this because:

1. You always have to check OBFUSCATE before you use it. It's a hassle.
2. Modules should never call Rex directly.

So instead, let's do this:

1 - Use a JSObfu mixin. And other mixins like BES can include it.
2 - In your module, when you're adding JavaScript, you should always call #js_obfuscate like this:

```ruby
# This returns a Rex::Exploitation::JSObfu object
js = js_obfusate(js)
```

Your module doesn't really have to check the JsObfuscate option. The mixin will handle it. By default JsObfuscate is 0, so it won't obfuscate unless the user wants to.

3 - If your module does not want js_obfuscate at all, you don't have to use it. But you should deregister the JsObfuscate option. As a code reviewer, try to enforce this.

If you want to play with a module, you can try this:
https://gist.github.com/wchen-r7/3bb2d377e25831d2a960

After this PR is merged, I will update the wiki for BrowserExploitServer and JSObfu. I will also update existing modules to implement this correctly.

I invite @jvennix-r7 and @jvazquez-r7 to review this PR.