Add error handling to Windows package management

Check the output of _get_package_info before trying to treat it as a map; fallback on installer if the repo doesn't have uninstaller configured; tolerate absence of uninstall_flags; fail gracefully when asked to install something that doesn't exist in the repo.