* Avoid infinite recursion when no indexes configured
* Remove references to Requires_Full_Index
* Fixed issues pending "provides" redo
* Generate and use a providers cache file
This cache file, which is common to all indexes, tells us in advance which
crates have to be loaded because they provide some another crate. E.g., if
"gnat" is requested to be loaded, we need to load all gnat_native, and
x-compilers.
If this file doesn't exist, we can only be sure by loading the full index, at
which time the file is regenerated for future use.
* Fix bug where all crates with same prefix were loaded
E.g. we were loading all gn* when only gnat_native needed to be loaded
* Fix providers generation when no index configured
* Add spinner during index load
* Remove the now redundant external aliases collection
* Removed last instances of forced index loading
* Fix for older compilers
* Test for the generated metadata file
* publishing.md: note about private indexes and "provides"