Adds Safari User Assisted download launch module.
Tweak timeouts.
Move osx-app format to EXE.
Add BES, change extra_plist -> plist_extra.
Tweaks for BES.
Minor fixes.
Hardcode the platform in the safari exploit.
Adds more descriptive explanation of 10.8+ settings.
Allow a custom .app bundle.

* adds a method to Rex::Zip::Archive to allow recursive packing
Allow TFTP server to take a host/port argument

Otherwise you will tend to listen on your default ipv6 'any' address and
bound to udp6 port 69, assuming you haven't bothered to disable your
automatically-enabled ipv6 stack.

This is almost never correct.
Land #3065 - Safari User-Assisted Download & Run Attack
Make the path options required and use /tmp

Otherwise it's impossible to run this module without setting the options
which were not otherwise validated anyway.
Since dirs are required, server will send/recv

This does change some of the meaning of the required-ness of the
directories. Before, if you wanted to serve files, but not receive any,
you would just fail to set a OUTPUTPATH.

Now, since both are required, users are required to both send and
recieve. This seems okay, you can always just set two different
locations and point the one you don't want at /dev/null or something.
OptPath, not OptString.
Land #3077 - Allow TFTP server to take a host/port argument