Alarm adaptation refactored to support change granular model updates. Fixes: https://bugs.launchpad.net/bugs/1322558, https://bugs.launchpad.net/bugs/1360359, https://bugs.launchpad.net/bugs/1370649, https://bugs.launchpad.net/bugs/1380553.
Approved by PS Jenkins bot, Christian Dywan.