Restore ee267, improve test coverage
this MR reverts the revert of ee267, and adds test coverage so that both code paths get exercised:
- when gitaly does not pass gitlab shell config to gitlab shell as an env var
- when gitaly does pass gitlab shell config to gitlab shell as an env var
now that !2104 (merged) is merged, we are guarded against using empty values when gitaly passes a non-empty json object as http settings eg;
{"http_settings":{"user":"", "password":""}}
Edited by John Cai