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.

Turns out that there is also a situation on 14.04 where the PID and \r\n are read in two separate calls. @cdburkard has a fix for this in a future pull request.