power metering using RAPL

Added interface to calculate power using RAPL energy counters.
By default is disabled, unless enabled by atleast one user.
The use case to apply fine grain control. For example if DRAM
is current source of high temperature, then instead of controlling
whole package, we can just apply controls to DRAM domain, if available.
Support Baytrail

Baytrail RAPL doesn't have max power information MSR. Hence
calculate max power dynamically.
Fix Kclockwork issue: gettext bounds

klocworks complains about gettext buffer overflow issues.
Klockworks issue with strcasecmp NULL param

Klockwork complains that strcasecmp will not check NULL, so
check NULL before calling strcasecamp.
klockworks error with infinite loop

Even if it is not used currently, there is option to calculate
power using standalong thread. klocwork doesn't like infinite
loop even.
klocworks double free complaints

Since there is no copy constructor, the thd_model can be double
freed during shallow copy and destroy.
Removed dynamic thd_model and using a static object.
Don't skip the current cdev

When multiple sources are using same cooling device, we don't apply
compensation without giving some time to previous activation to have
some affect. But continuing loop cause next cdev in order to start
activation. But instead let the previous device complete it action.
Enable skin temperature as default

As the skin temp driver for supported devices is upstream, enabling
by default.
klocworks issue with memleak

If zone update fails for some reason, need to delete zone pointer.
Release Thermald v1.2

Refer to README.txt