Make halting on SIGINT async

This change gives adaptors/drivers more flexibility in halting. Additionally,
now, by default, all Adaptors/Drivers will remove all their event listeners
before halting, which should prevent some additional commands from being sent to
the adaptor during shutdown.
Fix broken specs
Merge pull request #203 from hybridgroup/refactor/halt

Make halting on SIGINT async