Clean up timeout logic and update description

Makes the following changes:
- moves timeout logic into a single method
- updates description so users can be aware of the locked issue
- moves the payload dropping code until *after* the privilege escalation

#### Verification steps
- [ ] On target system, ensure Date/Time sys preferences pane is unlocked. Run the module and ensure that you get a root shell, and the dropped payload file is cleaned up
- [ ] Lock the Date/Time sys preferences pane. Run the module again and ensure that it (eventually) fails with a helpful error message, and the payload file is never dropped.