Move the ShutdownTracker to the common-util module since it's utility class and not a core service class.
Expose protocol gateway status via JMX, add more failure condition handle to avoid resource leaks.

- We now shutdown connections if we fail to detect their protocol within a timeout.
- A list of connected and connecting clients can be accessed via JMX.