arm: add autosmp (squashed latest updates)

add kernel-based msm_autosmp.c
bring msm_mpdecision.c from my shooter kernel, renamed as msm_autosmp.c
to avoid confusing with msm_mpdecision.c in the original source,
also modified for quad-core cpu

slightly adjust the load levels in autosmp and interactive

silence msm_autosmp kernel messages

readjust msm_autosmp loadlimits
this gives much better consistency in the hotplug events

msm_autosmp: unify the time and load limits for all cores

msm_autosmp: modify the name of time variable

msm_autosmp: minor revisions

msm_autosmp: remove msm dependencies and rename as autosmp
generalize as autosmp for other architectures

autosmp: increase wq priority and decrease hotplug load limit
This increases responsiveness for smoother user experience. The impact
on battery life should be minimal. Plus several cosmetic changes.

autosmp: remove unnecessary __cpuinit
and also change a function name

autosmp: remove pause function and unnecessary cpu online checks
also clean up include files and rename parameters

autosmp: remove unnecessary options in workqueue allocation

autosmp: use cpufreq_get and a counter instead of time functions

autosmp: use cpu frequency instead of load average
- less overhead for the system without the additional load calculation
  by autosmp,
- autosmp needs to work with cpu governor in giving adequate computing
  power to system and CPU governor should have the leading role in this
  task since it must respond earlier,
- since frequency is a function of CPU load determined by the CPU
  governor, autosmp becomes more consistent with the CPU governor when
  CPU frequency is used instead of independently calculating the load
  average,
- works in better sync with the CPU governor by giving the priority
  to increasing the frequency before rushing into hotplugging a core or
  dragging the system
- since autosmp follows the CPU governor it automatically adapts when
  governor is changed.

autosmp: use a lower frequency limit for unplug
Make sure it is really quiet out there so that unplugging a fairly
loaded core wouldn't be immediately followed by an hotplug due to
a spike in the frequency of other online cores. 600 lower limit should
be low enough for hearing the crickets

autosmp: use cpufreq_quick_get instead of cpufreq_get
and fix a typo

autosmp: improve the hotplug algorithm

autosmp: minor revision and cleanup
no functional changes

arm: autosmp: remove get/put_online_cpus
autosmp works fine without these, remove them to reduce the overhead.

arm: autosmp: use kHz for cpu frequency to avoid two divide operations in the code

arm: autosmp: use less aggressive default settings

Revert "arm: autosmp: remove get/put_online_cpus"

This reverts commit c4fef841419109dab978b12e93b7087872879099.

arm: autosmp: use __read_mostly with enabled
Thanks to @moddingg33k
Also clean up trailing spaces
arm: mach-msm: adjust thermal settings