Introduce repo-dbs to share lazily-loaded voom dbs among operations
Defend against hung fifo

I saw such a hang happen once, but wasn't able to track down the cause or
reproduce.
Remove incorrect use of 'distinct in 'origin-branches

'origin-branches is called by add-git-facts, once each to generate keys and
values of a branch name-to-sha map. The use of distinct for each set seprately
caused misalignments producing an incorrect map.
Fix div by zero error in 'report-progress