Convert while true to loop

MSP-9228
Clearer error logging

MSP-9228
Fix datastore deprecation

MSP-9228
Fix and spec generate_stage

MSP-9228
Code style adjustments

MSP-9228

Also fixes the inverted ListenerTimeout logic.
Don't report exploit/multi/handler failures

MSP-9228

exploit/multi/handler doesn't know the RHOST, so an attempt failure has
no host to use and so the validation fails.
Faild multi/handler when there is a timeout

MSP-9228

Without this change, the exploit just returns to msfconsole without
printing anything when the timeout expires.
Code style cleanup

MSP-9228