Rearrange boot script

Instead of needing to run 'boot' manually to get started, instead boot
the VM if it doesn't exist when running 'provision'

Also add a 'test' command to do a puppet apply --noop