Reimplement cylc suite env file write

This takes suite environment file write out of task jobscripts.  Instead, the first time (and only the first time) any task is about to submit to user@host it copies the local suite env file to user@host. This is done inside the task submit method just after the task host is determined (so the copy executes in the job submission thread).  I have not changed what happens at suite restart: the suite re-copies to the recorded user@host of any task that is/was in the 'submitted' or 'running' state.

Also reduces the suite env file content to minimal addressing details: suite name, host, owner, and port.