Added possibility to upload a custom WAR file

Added 2 options, one for uploading a custom WAR file. The other
to specify if you want or not to undeploy the war at the end of
the exploit.
The module as is does not allow to deploy a custom WAR file. It is
convenient when ports are blocked to be able to deploy a webshell
instead of just launching a payload.
I don't like the idea of ```fail_with``` from the mixin. I think has more sense to define return values for the methods, and allow the module to ```fail_with``` if necessary.