power: make sync on suspend optional

On embedded devices with built-in batteries, it is not so
important to sync the file systems before suspend.  The chance
of losing power during suspend are no greater than they are
when the system is awake.  The sync operations can greatly
increase suspend latency when the system has accrued many dirty
pages and/or the target storage devices are not particularly
fast.

This commit adds a kernel config option to allow file system
sync in the suspend and earlysuspend paths to be disabled.  It is
enabled by default.  It also exposes two command line options to
control this feature: suspendsync and earlysuspendsync.

Signed-off-by: Russ Knize <Russ.Knize@motorola.com>
Reviewed-on: http://gerrit.pcs.mot.com/614512
SLTApproved: Slta Waiver <sltawvr@motorola.com>
Tested-by: Jira Key <jirakey@motorola.com>
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key <jirakey@motorola.com>
[neo: Disabled by default.]
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

Dorimanx Note:
Added ONE time sync when screen goes OFF just in case.
function static int enter_state(suspend_state_t state)
is executed many times during long suspend, on every cpu wakeup
so now we will not SYNC filesystem each time, there is not need for that.

This should save little battery power, and reduce suspend cpu time.

Conflicts:
	kernel/power/suspend.c
Config Update to turn off Suspend SYNC