Revert "Merge pull request #215 from alesj/jmx_int"

This reverts commit e9a18d76421d0bc70bb47d3a18cb7fd70baec70b, reversing
changes made to e2751123b7cc9d81d7d58a7e47d7768260186e40.

#215 is problematic here:

https://github.com/wildfly/wildfly-core/pull/215/files#diff-e03796cc0eaa3c3086df591460170624R106

That code ends up getting called from all sorts of possible places, and the result is MSC threads end up blocking in stop, which is verbotten. This is why WF full testsuite is failing with recent core snapshots included. For example, this portion of a thread dump:

```
"MSC service thread 1-4" prio=10 tid=0xc4001400 nid=0x6eeb in Object.wait() [0xc10ad000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0xec7f2ea8> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:503)
	at org.jboss.msc.service.StabilityMonitor.awaitStability(StabilityMonitor.java:306)
	- locked <0xec7f2ea8> (a java.lang.Object)
	at org.jboss.msc.service.StabilityMonitor.awaitStability(StabilityMonitor.java:221)
	at org.jboss.as.jmx.MscMBeanServer.removeMBean(MscMBeanServer.java:106)
	at org.jboss.as.jmx.MscMBeanServer.unregisterMBean(MscMBeanServer.java:163)
	at org.jboss.as.jmx.PluggableMBeanServerImpl.unregisterMBean(PluggableMBeanServerImpl.java:1148)
	at org.xnio.Xnio$MBeanCloseable.close(Xnio.java:598)
	at org.xnio.IoUtils.safeClose(IoUtils.java:134)
	at org.xnio.nio.NioTcpServer.close(NioTcpServer.java:246)
	at org.xnio.IoUtils.safeClose(IoUtils.java:134)
	at org.wildfly.extension.undertow.AjpListenerService.stopListening(AjpListenerService.java:71)
	at org.wildfly.extension.undertow.ListenerService.stop(ListenerService.java:157)
	at org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:2056)
	at org.jboss.msc.service.ServiceControllerImpl$StopTask.run(ServiceControllerImpl.java:2017)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)

"MSC service thread 1-3" prio=10 tid=0xc112b400 nid=0x6eea in Object.wait() [0xc10fe000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0xec456468> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:503)
	at org.jboss.msc.service.StabilityMonitor.awaitStability(StabilityMonitor.java:306)
	- locked <0xec456468> (a java.lang.Object)
	at org.jboss.msc.service.StabilityMonitor.awaitStability(StabilityMonitor.java:221)
	at org.jboss.as.jmx.MscMBeanServer.removeMBean(MscMBeanServer.java:106)
	at org.jboss.as.jmx.MscMBeanServer.unregisterMBean(MscMBeanServer.java:163)
	at org.jboss.as.jmx.PluggableMBeanServerImpl.unregisterMBean(PluggableMBeanServerImpl.java:1148)
	at com.arjuna.ats.arjuna.tools.osb.util.JMXServer.unregisterMBean(JMXServer.java:129)
	at com.arjuna.ats.arjuna.tools.osb.mbean.ObjStoreBrowser.stop(ObjStoreBrowser.java:65)
	at org.jboss.as.txn.service.ArjunaTransactionManagerService.stop(ArjunaTransactionManagerService.java:160)
	- locked <0xd5922b78> (a org.jboss.as.txn.service.ArjunaTransactionManagerService)
	at org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:2056)
	at org.jboss.msc.service.ServiceControllerImpl$StopTask.run(ServiceControllerImpl.java:2017)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)

"MSC service thread 1-2" prio=10 tid=0xc1618000 nid=0x6ee9 in Object.wait() [0xc1375000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0xea6bb158> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:503)
	at org.jboss.msc.service.StabilityMonitor.awaitStability(StabilityMonitor.java:306)
	- locked <0xea6bb158> (a java.lang.Object)
	at org.jboss.msc.service.StabilityMonitor.awaitStability(StabilityMonitor.java:221)
	at org.jboss.as.jmx.MscMBeanServer.removeMBean(MscMBeanServer.java:106)
	at org.jboss.as.jmx.MscMBeanServer.unregisterMBean(MscMBeanServer.java:163)
	at org.jboss.as.jmx.PluggableMBeanServerImpl.unregisterMBean(PluggableMBeanServerImpl.java:1148)
	at org.jboss.remoting3.remote.RemoteConnectionProvider.closeAction(RemoteConnectionProvider.java:271)
	at org.jboss.remoting3.spi.AbstractHandleableCloseable.closeAsync(AbstractHandleableCloseable.java:359)
	at org.jboss.remoting3.EndpointImpl.closeAction(EndpointImpl.java:206)
	- locked <0xd5c7ebf8> (a java.lang.Object)
	at org.jboss.remoting3.spi.AbstractHandleableCloseable.closeAsync(AbstractHandleableCloseable.java:359)
	at org.jboss.as.remoting.EndpointService.stop(EndpointService.java:98)
	- locked <0xd5a7aca0> (a org.jboss.as.remoting.EndpointService)
	at org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:2056)
	at org.jboss.msc.service.ServiceControllerImpl$StopTask.run(ServiceControllerImpl.java:2017)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)

"MSC service thread 1-1" prio=10 tid=0xc112a400 nid=0x6ee8 in Object.wait() [0xc13c6000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0xec3f27f8> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:503)
	at org.jboss.msc.service.StabilityMonitor.awaitStability(StabilityMonitor.java:306)
	- locked <0xec3f27f8> (a java.lang.Object)
	at org.jboss.msc.service.StabilityMonitor.awaitStability(StabilityMonitor.java:221)
	at org.jboss.as.jmx.MscMBeanServer.removeMBean(MscMBeanServer.java:106)
	at org.jboss.as.jmx.MscMBeanServer.unregisterMBean(MscMBeanServer.java:163)
	at org.jboss.as.jmx.PluggableMBeanServerImpl.unregisterMBean(PluggableMBeanServerImpl.java:1148)
	at org.xnio.Xnio$MBeanCloseable.close(Xnio.java:598)
	at org.xnio.IoUtils.safeClose(IoUtils.java:134)
	at org.xnio.nio.NioXnioWorker.taskPoolTerminated(NioXnioWorker.java:348)
	at org.xnio.XnioWorker$TaskPool.terminated(XnioWorker.java:867)
	at java.util.concurrent.ThreadPoolExecutor.tryTerminate(ThreadPoolExecutor.java:704)
	at java.util.concurrent.ThreadPoolExecutor.shutdown(ThreadPoolExecutor.java:1397)
	at org.xnio.XnioWorker.shutDownTaskPool(XnioWorker.java:723)
	at org.xnio.nio.NioXnioWorker.shutdown(NioXnioWorker.java:278)
	at org.jboss.as.domain.http.server.ManagementHttpServer.stop(ManagementHttpServer.java:164)
	at org.jboss.as.server.mgmt.UndertowHttpManagementService.stop(UndertowHttpManagementService.java:284)
	- locked <0xd59da760> (a org.jboss.as.server.mgmt.UndertowHttpManagementService)
	at org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:2056)
	at org.jboss.msc.service.ServiceControllerImpl$StopTask.run(ServiceControllerImpl.java:2017)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
```

The typical strategy of avoiding blocking MSC threads, using a separate thread and the MSC StopContext (actually LifecycleContext) "asynchronous" API, won't work here as the authors of the services being stopped have no clue that this blocking behavior is going to happen. For example, we can't expect Stuart to know that UndertowHttpManagementService.stop is going to block due to some xnio mbean being removed.

The blocking behavior would need to be removed, and perhaps the basic treatment should be reserved for JMX domains whitelisted in the config file. Creating and destroying MSC services for arbitrary mbeans that container frameworks use seems like asking for trouble.