launcher: rewrite to be less messy / horrible.
plugins/backup: run `save-off` before backup if necessary.