WIP: feat(cli): implements 'safe reset' subcommand

Nice job @anon78698497, some other comments (it’d be nice if we could comment in the PR, is there a way to enable that?):

  • Perhaps we can adapt the prompt_user helper to accept an optional arg (e.g. Option<&str>) which specifies what to ask the user to enter, so we have a single helper function covering what prompt_confirmation does too.
  • I see let mut paths: Vec<String> = vec![]; but we only work on a single path which is the ~/.safe, so perhaps we don’t need it, or if we are gonna populate it with several paths then declare it up front as Vec<PathBuf> ?

As a general comment, shouldn’t we try to remove only the data but not the executables? as it stands it’s more like an uninstallation rather than a reset, I was assuming we wanted something which can clear all data stored by nodes, CLI credentials, but not the actual apps/executables ?