Payload defaults

We don't care what people have set as their target, as they can always choose a payload that doesn't match the target.

E.g. it is easy to ```set payload windows/x64/meterpreter/reverse_tcp``` without bothering to change the target from x86 -> x64.

Payloads will NEVER work if they are embedded in the wrong architecture exe/dll but modules MAY work if the payload doesn't match the target. Therefore we should always use the PAYLOAD to determine default arch/platform if possible.