Superuser: SK translation

- little help for our neighbors - SK translation

Change-Id: I8818ad459bb76701a841dd4ad50cdc0712c35c88
Superuser: CS translation

- fixed some misaligned translation
- fixed element names and small glitches

Change-Id: I410ef0c50a6b236c13bfde1658187e9136176862
Change the root_access property by SystemProperties.set

This works if Superuser is embedded.

Change-Id: I779d06c1777bb63740649b2b6db1e944275a5e0a
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
Superuser: PT-rPT translations

Change-Id: Ic3862ca92aa18ff837ca2a28b8a487c0fb725fc4
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
Make emulated storage available via su.

Apps (e.g. file managers) expect that they get the same view of files in
su and non-su mode.

Change-Id: I613d021dddb7b90c34bd6d7cf6d2234448404731
Change target API from 17 to 18

Change-Id: I7adb61ad20740875e31a7e94b218aeb593e3b368
Fix several Lint's warnings

Change-Id: I8da5969d7fb2dd2bc2d0760e445da96470042598
su is an optional component

Do not build it unless explicitly included in PRODUCT_PACKAGES

Change-Id: Ic7337daeb61aa8eb862aa33c4533a0177db87aa1
Fix incorrect prerequisites

'Nothing to be done' build failed because

* $(LOCAL_MODULE) should not be a prerequisite
* The created symlink doesn't exist in the host out tree

Besides, all prerequisites of $(SYMLINKS) are removed. This is because
'make' checks the timestamp of the file the link references rather than
the link itself. Therefore $(LOCAL_INSTALLED_MODULE) is a useless
prerequisite. On the other hand, $(LOCAL_PATH)/Android.mk should not
be a prerequisite of $(SYMLINKS) unless it is also a prerequisite of
$(LOCAL_INSTALLED_MODULE). Otherwise, if $(LOCAL_PATH)/Android.mk is
newer than $(LOCAL_INSTALLED_MODULE), $(SYMLINKS) will always be
re-made.

Correct the prerequisites of $(SUPERUSER_RC) as well.

Change-Id: I5746e983046a9cdc3ee2b8ecd3827f1f7e6b596e
Make emulated storage mounting consistent to Zygote.

- Mount in private namespace
- Mount in forked child
- Mount /storage/emulated/legacy

All of this is optional and must be enabled by setting the environment
variable MOUNT_EMULATED_STORAGE.

Change-Id: Ied9c4485e58ab26ba8e6eafcbe05bb75fe6fdc52
Only use access_disabled if SUPERUSER_EMBEDDED.

It is not possible to reenable Superuser when non embedded. su will reject.

Change-Id: If440d9d758c21c61a2d7c0bef132eb716b494c5d