Minimal, unintrusive implementation of a cleaner Job API.

Minimal, unintrusive implementation of a cleaner Job API.

* Implement a new package: engine. It exposes a useful but minimalist job API.
* Refactor main() to instantiate an Engine instead of a Server directly.
* Refactor server.go to register an engine job.
* Centralize checks for supported architectures and kernel versions into engine.

This is the smallest possible refactor which can include the new Engine design into master. More gradual refactoring will follow.