clarifies sessions -c command

#4063 has landed, so this is ready.  It's been rebased to eliminate merge conflicts

This PR clarifies the sessions -c usage info and changes the session execute RequestError rescue to be more specific and informative

## Verification

- [ ] Get some sessions, preferably a shell and any native win meterpreter
- [ ] sessions -i ID -c calc.exe
- [ ] success on both sessions
- [ ] sessions -i ID -c pwd
- [ ] get: pwd is not a valid shell command or binary path

Travis is complaining about this syntax error. You're using a ```case```, but there is no ```when```, instead you're doing ```cmd.each do |cmd|```