Draft: Add sparse checkout functionality

What does this MR do?

Add sparse checkout functionality

Allow gitlab-runner to consume a sparse checkout configuration passed from the .gitlab-ci.yml file.

Why was this MR needed?

What's the best way to test this MR?

What are the relevant issue numbers?

Merge request reports

Loading