'Instantiate a remote node
name: name of remote node
server: remote server (optional)
user: user on remote server (optional)
controlPath: specify shared ssh control path (optional)
splitInit: split initialization?
**kwargs: see Node()'

def __init__(self, name, server='localhost', user=None, serverIP=None, controlPath=False, splitInit=False, **kwargs):

    self.server = (server if server else 'localhost')
    self.serverIP = (serverIP if serverIP else self.findServerIP(self.server))
    self.user = (user if user else findUser())
    ClusterCleanup.add(server=server, user=user)
    if (controlPath is True):
        controlPath = '/tmp/mn-%r@%h:%p'
    self.controlPath = controlPath
    self.splitInit = splitInit
    if (self.user and (self.server != 'localhost')):
        self.dest = ('%s@%s' % (self.user, self.serverIP))
        self.sshcmd = (['sudo', '-E', '-u', self.user] + self.sshbase)
        if self.controlPath:
            self.sshcmd += ['-o', ('ControlPath=' + self.controlPath), '-o', 'ControlMaster=auto', '-o', ('ControlPersist=' + '1')]
        self.sshcmd += [self.dest]
        self.isRemote = True
    else:
        self.dest = None
        self.sshcmd = []
        self.isRemote = False
    (self.shell, self.pid) = (None, None)
    super(RemoteMixin, self).__init__(name, **kwargs)
