Worker registers itself on every connect event

This is a tidied version of the pull request I made earlier (#13). I removed the listener for the reconnect event to make the code simpler. The worker will now send `RESET_ABILITIES` if it is not connecting for the first time and `CAN_DO` on every connect event.

I also refactored the test helper to match cs idioms.