Usage: jcmwave_daemon_add_cluster(options)

Purpose: registers a cluster as a computing node

  options: key-value list (or matlab) structure to configure the output
    options.Hostname -> host name of the remote cluster access point
                        To form a login chain concatenate the hostnames with
                        ';' separators, i.e 'gateway.com;maxwell'
    options.JCMROOT -> JCMsuite installation path on remote cluster access point
                       default: same directory as local installation
    options.Login -> Login name to the cluster access point
                     For a login chain concatenate the user names with
                        ';' separators, i.e 'user1;user2'
    options.SSHClient -> ssh client used to establish a secure connection to the
                         remote machine. As a default the system ssh client
                         is used (if not available on Windows Putty's plink is used)
                         For a login chain concatenate ssh clients with
                        ';' separators, i.e 'plink;ssh'
    options.SSHAgentForwarding ->  Enables forwarding of the authentication agent connection.
                         ('yes'/'no', default 'no')
    options.SSHTimeOut ->  Timeout for establishing the ssh connection (default 6s)
    options.PEMFile -> File with private ssh-key for establishing a ssh
             connection, e.g. '~/.ssh/id_rsa' (optional).
    options.LicenseServerPort: If the remote machine cannot reach the local
             license server (e.g. a cloud instance), it can be configured to look for
             the license server at 'localhost:XXXX'. Then, LicenseServerPort must be equal
             to XXXX. default: No port forwarding.
    options.Multiplicity -> allow for multiply simultaneous use of the resource (entire cluster)
                            default: 1 (single use)
    options.NThreads -> number of threads used on each cluster node

    options.WorkingDir -> Directory used by JCMsuite to place files on the remote computer

    options.OOCDir -> swapping directory for out-of-core data (must be available on each node)

    options.MaxCoreSize -> restricts maximum core RAM usage (requires setting
                             of swapping directory OOCDIR)

    options.Nodes -> cell array for the specification of the computer nodes of the cluster.
       options.Nodes{iNode}.Hostname -> hostname (or ip-address) of the cluster node
                                       as seen from the cluster access point
       options.Nodes{iNode}.JCMROOT -> JCMsuite installation path on cluster node.
                                      default: same directory as the cluster access point.
       options.Nodes{iNode}.NThreads -> number of threads used for the computer node
       options.Nodes{iNode}.MemoryLimit -> maximum RAM usage (aborts jobs if exceeded)

Output: resource identifier (integer vector form multiple used resources)

Remark: Currently, the first computer node must be identical to the cluster access point!

Warning: Adding a machine recursively increases the number of
         simultaneously running jobs on this machine.