This commit cleans up the package structure, to make two new top-level packages `internal` (for internal-use packages) and `pkg` (for general shared utility code).
This commit implements command backup and snapshot.
This commit performs an initial implementation of the 'backup_instance' command.