Fix for running as a NuGet package

RProvider assembly isn't loaded when the DesignTime assembly is loaded
since it has no real dependencies on it. Also, the DesignTime assembly
needs to make sure that the AssemblyResolver that can find the RDotNet
assemblies is in place first, before anything else is done. This change
ensures that the AssemblyResolver is registered. Further, it places the
Configuration module strictly in the Runtime assembly which is
guaranteed to be loaded by both the RProvider and the DesignTime
assemblies. Always going through the same module ensures we can resolve
that module and retrieve the configuration for that module.
Merge RProvider.Server into RProvider.Runtime

We don't want to have too many assemblies. My original intent had been
to merge RProvider.Runtime into RProvider, but this introduced a
circular dependency through RProvider.DesignTime via the design time
type provider annotation.

This fixes NuGet packaging that wasn't quite right in the previous
commit and has been verified using the build results as a local NuGet
repository.
Define RemoteSession for Remote R access

RemoteSession provides a way to create a connection to a remote R
process via the svSocket package for R. Some functions in RInterop are
generalized to allow as much reuse as possible for functions that
perform the same behavior whether local or remote.
Add RemoteR type provider

The RemoteR type provider provides a way to import and export data
between F# and R sessions, as well as make remote calls to a running R
session.
Launch local RGui from fsi for a RemoteSession

Enable launch of RGui from fsi. Ensure that svSocket is installed and
launch the socket server.