init: enhance charging/recovery support via kernel cmdline

New BoardConfig options:
* BOARD_CHARGING_CMDLINE_VALUE_RECOVERY - value exported by kernel
  cmdline to signify that we are in recovery.
* BOARD_CHARGING_CMDLINE_NEEDS_FS - indicates that charge mode requires
  a fully mounted filesystem in order to function correctly.
* Handle cases in which BOARD_CHARGING_CMDLINE_VALUE_RECOVERY is set
  and TARGET_NO_SEPARATE_RECOVERY := true. This means that we need to
  share a ramdisk between CWM and the regular boot, so ensure that init
  loads "/recovery.rc" & reads properties from "/default.prop.recovery"
  when in recovery mode.

Change-Id: I80d3cbe2d2aa28471ef15133e8a5caf5fcde94e1
charger: support custom backlight path

If TARGET_RECOVERY_LCD_BACKLIGHT_PATH is defined, use it for
charger as well.

Change-Id: I3c73c531eda45b46059b483e72b28a815e7008a0
atomic-arm.h: implement armv6 support

Change-Id: Ifdbaa0b8296e8df966dc2259b0a753f477c5ec69
Signed-off-by: Marco Milanese <marcomilanese7@gmail.com>