Add "exmachina" process/privilege separation layer for configuration management

IMPORTANT: this code has NOT actually been tested on a  DreamPlug or in the FreedomBox environment

Changes:
- add exmachina code and test code
- modify plinth.py to listen for shared secret on stdin at start
  (if appropriate flag is set) and try to connect to exmachina daemon
- use exmachina to read and set /etc/hostname as a demo
- update plinth init.d script to start exmachina and share keys
- update docs with new deps and run instructions

Notes:
- using a name ("exmachina") is kind of over-doing things, but that component could be split out in the future
- see separate repository at https://github.com/bnewbold/exmachina for easier review

ToDo:
* add --group argument, chgrp, and 0660 permissions on socket file
* add apt-get package installation/removal methods
* add/handle one or two common non-augeas configuration methods (eg, timezone?)
* use /var/lib/exmachina/<something> as socket instead of /tmp/exmachina.sock?