Remove package cycles

This one wasn't so easy ...

I updated common-pools to 1.6 to benefit from generics (much easier to refactor stuff when the compiler tells you that you broke something). So another updated lib that needs to be rolled out to the Ant build (or we could go back to 1.5 now that the code is refactored).

I added a Maven enforcer rule to ensure that no new cycles are created.

One of the tricky area was the management of JMX connection pools, which had a cyclic dependency on Server. There is mostly no unit test on that code, so there is a significant risk that I screwed up. Please review carefully.

Next task will probably be to write some additional unit tests, which should be much easier now that cycles are broken.