Once we have #2471
The EventLoopGroups returned from NIOSingletons should throw if anybody attempts to shut them down. We just need some _internalParameter to MultiThreadedEventLoopGroup.init that disallows shutdown. There's precedent for this: The EventLoops you get from MultiThreadedEventLoopGroup.next() also throw on shutdown.