Kill service on RPC disconnect

We were not properly handling RPC disconnect.  On RPC disconnect the service was SIGTERM'd, then immediately SIGKILL'd when the container was shutdown due to the controller exiting.  Following this change we give the service 30 seconds to respond to SIGTERM before killing it.
Closing the channel results in the corresponding receive statement firing repeatedly (and actually filling the logstash buffer).  I suppose I could have gated the code following on a "first time" check but I think this it is cleaner to block.