Fix build on darwin
Minimal, unintrusive implementation of a cleaner Job API.

* Implement a new package: engine. It exposes a useful but minimalist job API.
* Refactor main() to instanciate an Engine instead of a Server directly.
* Refactor server.go to register an engine job.

This is the smallest possible refactor which can include the new Engine design
into master. More gradual refactoring will follow.
Engine: basic testing harness
Engine: centralize checks for supported architectures and kernel versions
Rename 'GraphPath' to the more logical 'Root'. This does not affect users except for a slight text change in the usage messge
Rename ConfigGetenv to ConfigFromJob
Setup daemon pidfile/cleanup in Server.Daemon() instead of main()