[WIP] Add 2.5s watchdog to turn off pin 13...

Add 2.5-second watchdog to turn off pin 13 if the watchdog state is not
reset.
[NB] Add deserialize header.

Add template functions for deserializing numeric values from payload.
Replace host accessors with send_read_command...

Use the `send_read_command` template function to simplify host accessor
methods.
Replace host mutators with send_set_command...

Use the `send_set_command` template function to simplify host mutator
methods.
Move send_(read/set)_command to RemoteObject class
Apply various formatting fixes, delegate timer...

Formatting
==========

Apply various formatting fixes, _e.g., add hints to `#if`-statement
`#else` and `#endif` clauses.

Watchdog timer
==============

Delegate timer handling to calling code.  The `DmfControlBoard` class is
responsible for maintaining watchdog state, but _not_ for triggering
watchdog checks.  This allows the watchdog triggering mechanism to be as
flexible as possible.  For example, the calling code can use a hardware
timer to trigger watchdog-state updates, or could trigger a
watchdog-state update at some point during the main `loop()` function.
[NB] Add API to driver for setting ATX power state

Disable the watchdog-timer by default.  Recall that the watchdog-timer
can be enabled through the driver using the `set_watchdog_enabled()` C++
API, or through the Python wrapper by setting the `watchdog_enabled`
property of a `DmfControlBoard` instance to `True`.
Set watchdog period to 2 minutes, reset every 2s

Firmware
========

Set ATX power supply watchdog-timer period to 2 minutes.

Plugin
======

Configure the DMF control board plugin to:

 - Enable the watchdog-timer upon connecting to the control board.
 - Reset the watchdog state every 2 seconds.
Add app-option to enable/disable auto ATX poweroff
Merge branch 'atx_power_supply_watchdog_timer'
Merge branch 'master' into dev
Reformat dev version string to "vX.X.X-dev"

See #48