Add a naive git bare cooker
It can cook directories (by adding a synthetic revision pointing to it) and revisions.
Current limitations:
- It does not deduplicate directories and files at all, and queries all objects one by one.
- No support for missing/absent contents
- No support for missing submodules
Tests reuse existing tests of the DirectoryCooker and RevisionGitfastCooker using parametrized pytest fixtures.
Migrated from D5656 (view on Phabricator)