cpufreq: CPU max. hardlimit v1.6 (Yank555.lu)

- big code review
- added loads of debugging prints to dmesg (not compiled by default)
- fixed scaling_min/max getting stuck

SysFs Interface :

* /sys/kernel/cpufreq/hardlimit (rw)
*
* set or show the real hard CPU frequency limit when screen is on
*
* /sys/kernel/cpufreq/hardlimit_screen_off (rw)
*
* set or show the real hard CPU frequency limit when screen is off
*
* /sys/kernel/cpufreq/wakeup_kick_freq (rw)
*
* set or show the wakeup kick frequency (scaling_min for delay time)
*
* /sys/kernel/cpufreq/wakeup_kick_delay (rw)
*
* set or show the wakeup kick duration (in ms)
*
* /sys/kernel/cpufreq/touchboost_lo_freq (rw)
*
* set or show touchboost low frequency
*
* /sys/kernel/cpufreq/touchboost_hi_freq (rw)
*
* set or show touchboost high frequency
*
* /sys/kernel/cpufreq/available_frequencies (ro)
*
* display list of available CPU frequencies for convenience
*
* /sys/kernel/cpufreq/current_limit_max (ro)
*
* display current applied hardlimit for CPU max
*
* /sys/kernel/cpufreq/current_limit_min (ro)
*
* display current applied hardlimit for CPU min
*
* /sys/kernel/cpufreq/version (ro)
*
* display CPU freq hard limit version information

Conflicts:
	drivers/cpufreq/cpufreq.c