Support Unix 98 style pseudoterminals, as specified in POSIX.1-2001

Support consists of openpt(), ptsname(), grantpt(), and unlockpt(). The master
fd can be created by calling  openpt(), or by opening "/dev/ptmx" (as
specified by POSIX).
Tests for pseudoterminal support.
Merge pull request #58 from sam-github/pts-support

Support Unix 98 style pseudoterminals, as specified in POSIX.1-2001