Fix #4430 - Add support for -o to save the payload to disk

Fix #4430 

This adds -o as a new flag to save the payload to disk.

@FireFart Let me know if this is how you like it.

## Verification

Try this:

- [ ] Do ```./msfvenom -p windows/meterpreter/bind_tcp -f exe -o /tmp/yoo.exe```
- [ ] You should see that the payload is saved to /tmp/yoo.exe
- [ ] And it does not print the payload on screen.

And then this:

- [ ] Do ```./msfvenom -p windows/meterpreter/bind_tcp -f exe > /tmp/test2.exe```
- [ ] You should see that the payload is saved to /tmp/test2.exe
- [ ] And it does not print the payload on screen

And then this:

- [ ] Do ```./msfvenom -p windows/meterpreter/bind_tcp -f exe```
- [ ] It should print the payload on screen

And then this:

- [ ] Do ```./msfvenom -p windows/meterpreter/bind_tcp --payload-options```
- [ ] It should dump windows/meterpreter/bind_tcp's options