Separate type discovery into a separate process

Refactor projects so that RInterop is distinct from RProvider. Introduce
a new RProviderServer that wraps RInterop in a separate process that can
be used by RProvider to perform type discovery.