Allow internal wakeups to resume from suspend

Internal requests with wakeup field (libiphb >= 1.1.0) set will be
treated similarly to external requests i.e. the device will wake
up to handle them instead of handling them only if woken up for
some other reason.

[iphb] Allow internal wakeups to resume from suspend
Enforce battery level checks when battery is getting empty

When battery is getting close to empty, we want to check the battery
level more often. Now we will also resume from suspend to do that.

[dsme] Enforce battery level checks when battery is getting empty
Limit continuous suspend time to maximum of 30 minutes

RTC wakeups are scheduled 30 minutes apart even if there are no
alarms or iphb clients. This should keep the battery monitoring
active even though battery plugin does not request explicit
wakeups until battery low is reached.

[iphb] Limit continuous suspend time to maximum of 30 minutes
Improve client identification details in iphb diagnostic output

Both internal and external clients are enumerated to make status
changes easier to interpret.

The executable name for external clients is always fetched so that
it is available if debugging level is changed during runtime.
Allow battery level config file to define also wakeup parameter

By default FULL and NORMAL do not use wakeup flag, but LOW, WARNING
and EMPTY will.

This can be changed by adding third parameter to appropriate line
in the battery levels configuration file.

[dsme] Allow battery level config file to define also wakeup parameter
Change battery empty shutdown limit to 3%

The 5% is too high for a default value.

[dsme] Change battery empty shutdown limit to 3%
Re-evaluate timers when internal wait with wakeup is requested

Otherwise the rtc and timer get re-programmed only when some external
trigger causes re-evaluation of client wakeups.
Merge pull request #42 from spiiroin/internal_iphb_wakeups

Internal iphb wakeups