Add a version of withNettyConfig() that takes an instance of a Provider

Also includes a workaround to a guice API inconsistency, so that we can accept Provider instances that implement javax.inject.Provider instead of com.google.inject.Provider.

(See http://code.google.com/p/google-guice/issues/detail?id=487 for details)