drop tpty support

The ruby tpty package on which the code depends has been unmaintained
since 2002, and does not compile with ruby 1.9/2.0.
fix exit code handling

For example, 'acoc make' will no correctly return 'make' exit code
(including returning 128 + signal number if make was interrupted or
killed):
- "acoc make -f /dev/null foo": 2
- "printf 'default:\n\tkill -9 $$PPID\n' | acoc make -f -": 137
add an informative error trace on program kill

Similar to what the shell does, e.g.:

# printf '$(shell exec kill -9 $$PPID)' | acoc make -f -
acoc: killed: make -f -
# printf '$(shell exec kill -11 $$PPID)' | acoc make -f -
acoc: segmentation fault: make -f -
# printf '$(shell exec kill -24 $$PPID)' | acoc make -f -
acoc: signal 24 (XCPU): make -f -
# printf '$(shell exec kill -42 $$PPID)' | acoc make -f -
acoc: signal 42 (???): make -f -
# ulimit -c unlimited; printf '$(shell exec kill -11 $$PPID)' | acoc make -f -
acoc: segmentation fault (cored dumped): make -f -
add back pseudo terminal support

- rely on tpty when using Ruby 1.8
- use built-in PTY.open for Ruby >= 1.9
improve pseudo terminal support

Try to get the real terminal size (with stty), and set the process
environment variables LINES and COLUMNS so output is closer to what
we get when not using acoc.
Merge pull request #5 from benoit-pierre/exit-status-and-pty-handling

Fix exit status handling and rewrite pseudo terminal support