Fix cmd_reload_all

MSP-9005

Includes code merged from
MSP-9107

Fixes the `reload_all` command in `msfconsole` so that it works with the new module cache by extending `Metasploit::Framework::Module::Cache#prefetch` to support the `:changed` boolean option for `Mdm::Module::Path#each_changed_module_ancestor`.  Since reloading all the module ancestors takes ~2 minutes on my machine and probably longer on users that don't have SSDs, I've add a progress bar that will print update with the number of module ancestor files that have been processed.  The progress bar is only shown when the output is a TTY (which is a restriction of the ruby-progressbar gem as it needs a tty to rewrite the current line).