nightmare, darkness cpu governors: use spinlock instead of mutex.
msm: hotplug: Complete iteration while down_work

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
intelli_plug: Clean up and Rearchitect

* Replaced eco_mode_active and strict_mode_active
  with more flexible option max_cpus_online.
* Added min_cpus_online feature.
* Clean up messy persistence logic and added down_lock
  logic.
* Unified cpu_up and cpu_down in separate work struct.
* Removed separate boost function, instead use input_event
  directly to queue boosting work.
* Simplified intelli_plug core functions.
* Renamed touch_boosted_cpus to cpus_boosted. This is
  to match name with similar function in MSM Hotplug.
* Bump to version 4.0

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

Dorimanx Note:
this includes fix by neobuddy89
https://github.com/neobuddy89/hammerhead_kernel_caf/commit/9d50be74efeb4510cc7648a2a707822749946dab

and still support early suspend and max freq on suspend.
Removed useless condition for battery charging animation.
msm_hotplug: Made fast_lane_min_freq configurable.