[WFLY-2595] Rewrite the logging DUP's. Ensure the undeploy unregisters the log contexts so class loaders and log contexts aren't leaked.

There was a change to use the ```ClassLoaderLogContextSelector``` rather than the ```ContextClassLoaderLogContextSelector``` (526c2ae) class loaders and log contexts were not being removed from the ```LogContextSelector```.

The DUP has been split into two more logical DUP's rather than trying to handle it all in one. There has been a test added to check for leaks, but it does use a hack. I'm not opposed to removing the test if it seems to be too much of a hack. I don't love it, but I couldn't find a better way to ensure class loaders and log contexts weren't being leaked.