- Improve exception handling when instantiating the different providers.  If an InvocationTargetException is thrown, log the root cause.  Not doing this hid a
   problem in the Netty provider (described below).
- The 'config' instance variable needs to be set *before* calling configureNetty().

These two problems were causing the Netty tests to fail due to the fact that the
Netty provider was being initialized to the point where worker threads were created,
but then failed later in the constructor.   The threads remained running and caused
issues later with other tests (unable to create new threads).

Someone more familiar with the Netty provider may wish to look into dealing with
the above case better (i.e., if a problem occurs during construction, ensure the proper
cleanup is performed).