
  -spec monitor_node(Node, Flag) -> true
                        when Node :: node(), Flag :: boolean().

  Monitor the status of the node Node. If Flag is true,
  monitoring is turned on. If Flag is false, monitoring is
  turned off.

  Making several calls to monitor_node(Node, true) for the same 
  Node is not an error; it results in as many independent
  monitoring instances.

  If Node fails or does not exist, the message {nodedown, Node}
  is delivered to the process. If a process has made two calls to 
  monitor_node(Node, true) and Node terminates, two nodedown
  messages are delivered to the process. If there is no connection
  to Node, an attempt is made to create one. If this fails, a 
  nodedown message is delivered.

  The delivery of the nodedown signal is not ordered with respect
  to other link or monitor signals from the node that goes down. If
  you need a guarantee that all signals from the remote node has
  been delivered before the nodedown signal is sent, you should
  use net_kernel:monitor_nodes/1.

  Nodes connected through hidden connections can be monitored as any
  other nodes.

  Failure: notalive if the local node is not alive.
