Resolve some issues around figuring out when the next scheduled play time would occur.

- listen for a prelogin event to check the schedule for the player and kick if not allowed
- listen for a join event to wire up the schedule for the player