init: add detection of charging mode

Based on Prashant Somashekar's patch which is in turn based on techomancer's
patch http://goo.gl/I19GG.

When BOARD_CHARGING_MODE_BOOTING_LPM is set, init will read that
value (usually from /sys) and enable charging mode when set to 1.

This differs from the original patch in that Samsung-specific lpm.rc
is not loaded, but instead, init.rc is loaded using the "charger" class,
which is how AOSP devices handle charging.

The change is because the either the SELinux or the init.rc changes is
causing lpm.rc to not work, and porting lpm.rc to the Android system
is easier than trying to fix it.

Change-Id: Ice7a074da7e982f9a64aaa97de28bfcbccdc8b91
init: Fix memory corruption when sanitizing platform paths

This commit fixes code that incorrectly increments s when it
hits the terminator character of the string being sanitized.
This means it will randomly start trashing memory beyond the
end of the string being sanitized until it happens to hit two
NULs (\0\0) which will break it out of the loop.

Change-Id: I76553d7f183236a78a0bc7b408e92559b98f732f
toolbox: Add setfattr

Change-Id: I1981604f72d96c9ad38583f03f7f65df1ab865b7

Conflicts:
	toolbox/Android.mk

Change-Id: I3e723c67436a374269767ec2e0594ca35af8d003
charger: allow home button to wake

A squashed commit of the following:

commit 6ce21d726a967b2cc942476758b9ab3851ff39f1
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date:   Sun Feb 3 22:21:32 2013 +0700

    charger: do not suspend when handling home

    When using Google's suspend implementation, home press should also wake
    the device from suspend

    Change-Id: I51f3e45c5cb418b0b3718e7223a1336876379043

commit 75a7cf84df719d8cf5cd77093b3f9fee3c09017e
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date:   Sat Jul 21 22:09:37 2012 +0700

    charger: allow home button to wake

    On certain devices (e.g. galaxysmtd), the user expects the physical
    home button to be able to wake the device as well as the power button.

    Change-Id: If764f36aba3810dfa5233af8baf0a740b04889e0

Change-Id: I362b227e26bc864a2cad471df799bce2d682ecee
mkbootimg: Support 32K 64K and 128K pagesizes

Signed-off-by: ChampionSwimmer <android@championswimmer.tk>
Signed-off-by: Michael Bestas <mikeioannina@gmail.com>

Change-Id: I0ee608b74a1daefe536b9247f99368f3e043f93d
Merge branch 'cm-12.0' of git://github.com/CyanogenMod/android_system_core into cm-12.0