Implemented error handling & graceful shutdown

It:
- Listens for UNIX signals and gracefully shuts down when possible
- Catches exceptions thrown asynchronously or via EventEmitters