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 ###

- [x] Get a Windows XP box for testing
- [x] On the XP box, go to Control Panel, System. Under the Remote tab, make sure you allow remote desktop.
- [x] Turn off Windows Firewall
- [x] Start msfconsole
- [x] ```use auxiliary/scanner/rdp/ms12_020_check```
- [x] ```set rhosts [ip]```
- [x] ```run``` or ```check```
- [x] The module should say the XP box is vulnerable
- [x] Turn on Windows Firewall
- [x] Make sure the firewall does not allow remote desktop (block it!)
- [x] 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)