Refactor connection code out of RemoteSession, add utilities.
Assignment to variables in a RemoteSession may be done directly
  RR?foo = "foo"
Remote variables may be directly retrieved as RemoteSymbolicExpressions:
  RR?foo
Objects may be cast to local SymbolicExpressions, including
RemoteSymbolicExpressions:
  (32).ToLocalValue()
  (RR?foo).ToLocalValue()
Objects may be cast to RemoteSymbolicExpression:
  (32).ToRemoteValue(SomeRemoteSession)