Part 1 of terminal support fix

Changed the daemon to use pseudo-terminals closer to the way SSH or telnet does. Changes are extensive because the slave device was being opened by the wrong end of the connection, ie. the client is the one which should be opening the master ptmx device.

SIGWINCH is still not being handled. The next commit will attempt to address this.
Added SIGWINCH handling and better cleanup

Added a task to forward SIGWINCH from the client to the daemon via the
correct ioctl. Terminal window sizing now seems to work correctly.

Also added signal handler to catch signals which can cause the client to
terminate, allowing the client to restore stdin's termios. Previously,
killing the su client using (for example) SIGTERM would result in the
terminal being left in an unusable state.
Refactored pseudo-terminal code into pts.c
Undo a change which resulted in dangling FDs
Removed a hackish check for stdout in pump()
Made scoket protocol uniform

Also eliminated some control flow branches
Changed when the client sends pts-slave
Treat each standard I/O stream separately
Eliminated use of FIFOs, factored PTY proxy code

Instead of opening FIFOs, we now send the standard I/O descriptors
across the Unix socket.

Also, the I/O pumps were moved to pts.c
Superuser: LT translations

Minor fixes

Change-Id: I2f4828b631e74ddd49c636841b7f74852aad8976
Superuser: LT translations

(Port CM 10.2 (FIXED) strings to CM 11.0

Change-Id: Iad4498833b8bf39da6a6d09887e337c47f26efd0
Superuser : TH translation

Change-Id: I1d6996fd185f89d4be58c2b1d95b2ff5c755fbcb
Merge "Superuser : TH translation" into cm-11.0
Merge remote-tracking branch 'tance/terminal-support' into cm-11.0

Conflicts:
	Superuser/jni/su/daemon.c

Change-Id: I2739f6bcbed03636d7a2fb66377977cd16999926
Merge remote-tracking branch 'koush/master' into cm-11.0
merge changes from Omni 4.4 into local branch