[utils] add keep_modulecache parameter to lit config
This keeps the current default behaviour of wiping the module cache to
make sure that the test results are not impacted by previous runs, while
still allowing the user to circumvent this behaviour when desired by
passing "--param keep_modulecache" to run-test or directly to lit.
Repopulating the module cache can have a significant impact on test
times for C++ interop tests as they often need to process large parts of
the C++ stdlib module. Anecdotally, keeping these results cached between
runs doesn't tend to impact the results too often.