environment: stop using core.sparseCheckout globally
The config value `core.sparseCheckout` is parsed in
`git_default_core_config()` and stored globally in
`core_apply_sparse_checkout`. This could cause it to be overwritten
by another repository when different Git repositories run in the same
process.
Move the parsed value into `struct repo_config_values` in the_repository
to retain current behaviours and move towards libifying Git.
Suggested-by: Phillip Wood <redacted> Mentored-by: Christian Couder <redacted> Mentored-by: Usman Akinyemi <redacted> Signed-off-by: Olamide Caleb Bello <redacted> Signed-off-by: Junio C Hamano <redacted>