[FEATURE] Supervisor to run all coroutines

FEATURE FLAG: 'supervisor'

This feature runs all the gatewayd subroutines in a single node.js process using the `domain-supervisor` module to handle starting/restarting subroutines and handling their exceptions.
Please make the timeout amount a constant at the top