Unicode support for pexpect

This fork includes an incremental decoder for child process output and terminal keyboard input, so that encodings such as utf-8 may be used.

Some other various changes made along the way:
 spelling - use 'written' instead of 'writen' in backend method names.
 refactor - replace duplication of call to '__interact_written' around line 1658
 refactor - move static read size '100' to argument of __interact_read, to assist in documenting "magic numbers".