drivers: cpufreq: Upstream optimizations

* Clean up and optimize cpufreq driver.
* This is needed for good multi cpu
  policy control via msm limiter.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
msm: limiter: Introduce initial multi cpu control

* This extends current functionality of the driver
  to save min/max freq for each core.
* Disabled by default.
* CPU0 is master boot core for 3.4 kernel and user
  should not reduce max freq of this core more than
  half of range.

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

Conflicts:
	arch/arm/mach-msm/msm_limiter.c
Merged Latest Version of Alucard HotPlug & Alucard CPU Governor by @Alucard24

(cherry picked from commit 84fa93b854b1f856120d239f8678630aa267b014)

(cherry picked from commit ced051b277ae79e9924f16d69de3fbed10dc6cfd)

Conflicts:
	arch/arm/mach-msm/Makefile
defconfig: config Alucard Hotplug
Build with Linaro 4.9.3
add io_is_busy, update freq's and enable alucard hotplug

Conflicts:
	arch/arm/configs/hammerhead_defconfig
	arch/arm/mach-msm/msm_rq_stats.c
	drivers/cpufreq/cpufreq_conservative.c
	drivers/cpufreq/cpufreq_darkness.c
	drivers/cpufreq/cpufreq_ondemand.c
	drivers/cpufreq/cpufreq_pegasusq.c
cpufreq: Introduce new relation for freq selection

Introduce CPUFREQ_RELATION_C for frequency selection.
It selects the frequency with the minimum euclidean distance
to target. In case of equal distance between 2 frequencies,
it will select the greater freq.

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

(cherry picked from commit 2b4e070ad101e66b4565271856fff1a4fa4f854b)
cpufreq: add generic get_cpuidle_time

Easier to maintain this in one place.

Signed-off-by: Blechd0se <alex.christ@hotmail.de>

Conflicts:
	drivers/cpufreq/cpufreq_conservative.c
	drivers/cpufreq/cpufreq_ondemand.c
Fix Interactive Gov building error
Add & Enable Alucard cpufreq gov

(cherry picked from commit c86efa1548bb9f2d62cfd48347e83cf59235eaad)

Conflicts:
	drivers/cpufreq/Kconfig
	drivers/cpufreq/Makefile
	include/linux/cpufreq.h