Only reboot a vm if necessary

I'd like to get to a point where we can run a command such as:

    fab staging puppet_class:govuk::safe_to_reboot::yes numbered:1 vm.reboot

This commit makes such a command more palatable by only rebooting the
machines which actually have outstanding packages which require it.

For those occasions where you want to reboot regardless of packages,
I've added vm.force_reboot to allow you to do that.
@ajlanghorn http://legacy.python.org/dev/peps/pep-0257/#multi-line-docstrings