integrate exmachina configuration management layer

- 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
updates/improvements to exmachina
add exmachina HOWTO
use exmachina to configure timezone
use  permissions for exmachina socket
update .gitignore
fix test comments (thx nick daly)
Customize host in cfg.py.

We start with a default of 127.0.0.1, because anything else is stupid.

Change to 0.0.0.0 to serve to everybody.
Fix host cfg and print on startup
Merge pull request #5 from jvalleroy/master

Merge James Valleroy's "small bugfix"
Added default pidfile.
Created link issue.

Plinth really should link clients to the right pages.
Merge branch 'master' of github.com:NickDaly/Plinth
Created start.sh to handle ExMachina outside of Plinth.
Externalized ExMachina again, partially reverting change:

f1e764f2e5728113f191456236d02fdae6e7680a

Partially revert the EM integration change, it's not solid yet.  This
allows EM to grow on its own.  However, I'm not reverting the whole
change because I want to make it easy to use EM from an external
repository, and most of the Plinth-specific changes are good.  To use
EM in Plinth again, make sure EM and Plinth are in the same directory
before running start.sh.  The directory structure should look like:

    ./exmachina/
    ./plinth/

start.sh updates Python's path correctly, so this change should be
transparent and Plinth should still run the same.
Added predepend packages and updated python path for build folders.
Extra predepend
Plinth needs to be run as root currently.
Clean now uses BUILD_DIR variable.
Extra predepend's, plinth doesn't need to run as root, pidfile location set in cfg file.