attempt to fix Ashley's hangup problems

It seems that for some reasons which I cannot fathom, the pty line swallows a ^D
now and then.  But ^D was used for file staging like this:

  self.run_async ("cat > %s.$$" % tgt)
  self.pty.write (src)
  self.pty.write ("\n\x04\nmv %s.$$ %s\n", (tgt, tgt))

If the \x04 == ^D is gone, then the cat process will wait forever on input.

Instead of the construct above, we now use a HERE document:

  self.run_async ("cat > %s.$$ <<\"SAGA_ADAPTOR_SHELL_PTY_PROCESS_EOT\"" % tgt)
  self.pty.write (src)
  self.pty.write ("\nSAGA_ADAPTOR_SHELL_PTY_PROCESS_EOT\nmv %s.$$ %s\n" % (tgt, tgt))

which works fine.  Note that this does not fix the disappearing ^D -- the pty
classes don't use it anywhere, but applications of these classes might still
attempt to send it to the remote shell...
add some documentation about missing ^D, fix quotation