Add support for booting from snapshots, user data (cloudinit), and a key pair name