Also moves the git index url to the bare_index for clarity
This also fixes 2 bugs:
The SparseIndex::from_url was not validating that the url started with sparse+, which is required as it is part of the hash calculation and would result in incorrect disk locations if the user forgot to add that in the url
The hash calculation was incorrect, in cargo, only git registries use the hash of the canonicalized url for the ident, all other registry kinds just hash the raw url
Also moves the git index url to the bare_index for clarity
This also fixes 2 bugs:
sparse+
, which is required as it is part of the hash calculation and would result in incorrect disk locations if the user forgot to add that in the url