Add new home automation backend.

This controls Hue lights in one room and backlight for the desktop.
All lighting changes are routed through this server, which can keep
track of the current state. This allows us to do things like preventing
automated schedules from clobbering manual settings, preventing them
from inadvertantly brightening the room when we've manually set something
dimmer late at night (eg. early bedtime).

There is also a lock setting to prevent any changes from occurring,
and a force request param to override any of the above, because eg.
we should never prevent explicit user requests from acting.

This also controls LCD backlight on the local machine, using DPMS to turn
the backlight completely on/off and redshift to adjust color temperature and
apparent brightness (although it's not possible to actually adjust backlight
brightness in software on most displays, only laptops and Apple devices seem
to support this sort of thing).