add a set_service function to the Conduit_resolver interface
Separate the registration of the Conduit_resolver_mirage from init

This permits more freedom in how to construct a resolver in different
contexts as one can be passed in externally
Move the RESOLVER module type into the Resolver modules instead of Conduit

This is in preparation for renaming Conduit_resolver to Resolver for
simpler usage