Update CheckCode Documentation

An example of the biggest confusion module developers face is not actually knowing the difference between Detected vs Appears vs Vulnerable. For example: a module might flag something as a vulnerable by simply doing a banner check, but this is often unreliable because either 1) that banner can be fooled, or 2) the patch does not actually update the banner. More reasons may apply. Just because the banner LOOKS vulnearble doesn't mean it is.

Being able to accurately determine the vulnerable state is also important to the user. It's not uncommon for pentesters to first run a vuln scan, and then use Metasploit checks to find out which ones are "exploitable", and then target those first.

This PR should be reviewed by at least the following people:

- @jvazquez-r7: The guidelines emphasize on the quality of explicit checks, meaning it implies some of the existing checks should be lowered to CheckCode::Appears. For example: The HP Data Protector modules. Even though they seem to do just fine flagging a target as vulnerable with version checking, they're not actually explicit checks.
- @todb-r7: just because he's the fearless leader.

Verification:
- [x] Run ```yard```
- [x] Make sure you can see the updated documentation.