Refactor into the start of something more modular.

* Basic vendor support added with fideloper as default
* Abstracted hook implementation
* Expose a vpb function to be used in non-interactive provisioning
* Added a fairly comprehensive hook example
* Documentation
* Modified packages just enough to get them (hopefully) working
* Add a simple mechanism for viewing a package README.
* Work on a non-interactive provisioning.
Merge pull request #86 from trq/feature/vpb

Refactor into the start of something more modular.