Safely handle PTYs, better exit code handling.

Instead of using a hard coded PTY, let Ruby take care of it for you. As well, remove the ugly stack trace for test failures -- keeping the trace and exception for more serious errors -- and propagate exit codes down to the parent so you can continue to use bwoken with Jenkins, etc.