Attach a pty to each node's bash process

This should enable node commands that are expecting a tty to behave slightly better.

`vi` seems to work fine, but `emacs` doesn't, oddly enough... and even if we use `noecho` we don't seem to be returned to echo mode....

It should also fix the problem of the CLI crashing when you send a host a bad `bash` command like:

    mininet> h1 a(

Unfortunately it does a few things which we may not want, including:

- Adding the overhead of an `env` process to each host instantiation
- requiring the interrupt key to be `^C`

So it may slow things down slightly. I am also not sure whether `pty`s are automatically cleaned up when the `Popen`'s subprocess exits. I'm assuming that is the case -- otherwise we would want to close them explicitly, probably in `cleanup()`.

Take a look and see what you think.

I'm not 100% sure if this is necessary either, and it may mean that background processes started with `popen()` and `pexec()` are essentially immune to being killed with `^C`, and will also not be cleaned up automatically via the `killpg()` in `terminate()`.

In cluster edition if we're using ssh tunnels, we do want to make sure that an interrupt is forwarded down the tunnel to the remote process rather than sent to `ssh` (thus causing the tunnel to go away.)