u8800: Always take/release wakelock at safe places.

We may run into suspend before the mode actually is set. To fix this, always
take/release wakelock when safe.
lowmemorykiller: Increase debugging level.

Multiline log bloats out the kernel debug messages, especially on low-mem
targets.
bq2415x_charger: Store new values if set.

Makes setting default values easier, when the chip is reset for example.
bq2415x_charger: Use set_mode to modify charger.

When "no battery" or "timer expired" faults occur, these can now be cleared
automatically and the charger can continue. Also, when for some reason, the
charger registers get corrupted, these are always reset before changing mode.

Changes:
 * When faults that reset charger occur, reset the charger to last good state.
 * Always reset the charger before changing mode.
u8800: Never set same charger mode multiple times.
bq2415x_charger: Remove timer_error.

Timer errors are handled automatically by the driver.