Add option to disable login shell in ssh commands

I messed up the commits in the last pull request, so am resubmitting a cleaned up version.

These patches enable passing environment variables through the command line, like --env=VAR=val, tidies the ssh commands in remote.py to use the --login flag instead of sourcing profile flags and adds a new suite.rc entry to optionally disable using a login shell with ssh commands.

It should fix issue #183 by allowing batch-mode ssh commands to be limited to cylc subprograms at facilities that do not allow unrestricted ssh access between computers.