Pin packages

Fixes #102

Not ready to go just yet, but this switches packages to being pinned, which simplifies the output to make it a bit more human readable on updates. Requires a few core changes, such as updating Puppet first, but working well so far.

Known bugs:
* [x] Downgrading from 5.5+ ruins the upstart scripts. Working on this one.
* [ ] Warnings on Puppet execution