Add Linux support

This adds Linux support (including arbitrary baud rates, which is why I'm unable to just use [tarm/goserial](https://github.com/tarm/goserial)). It's a new implementation because it uses the Linux-only `TCSETS2` ioctl and the `termios2` struct, but it shares quite a bit of code with the darwin port. I could refactor the both of them for less redundancy, if you'd prefer that.

I've tested it out on i386 and ARM with actual serial devices, but I don't have an amd64 box handy. Seems to work on a VM with a ptty.