Fix #4378 - nil:NilClass exception in ms12_020_check

Fixes #4378

This addresses the following:

* Handling nil return value for get_once
* Handling all possible exceptions
* Making use of the check command

### Verification ###

- [ ] Get a Windows XP box for testing
- [ ] On the XP box, go to Control Panel, System. Under the Remote tab, make sure you allow remote desktop.
- [ ] Turn off Windows Firewall
- [ ] Start msfconsole
- [ ] ```use auxiliary/scanner/rdp/ms12_020_check```
- [ ] ```set rhosts [ip]```
- [ ] ```run``` or ```check```
- [ ] The module should say the XP box is vulnerable
- [ ] Turn on Windows Firewall
- [ ] Make sure the firewall does not allow remote desktop (block it!)
- [ ] Use the ms12_020_check module, this time it should say "Cannot reliably check exploitability". Because you are blocked. (If you set verbose to true, you will get more info, including a backtrace)