Only add a bridge to the splitter if it is new.

If it's not new then we want to overwrite the old instance.
Unconditionally appending to to the splitter results in duplicate
bridges.

Closes #9264
Update bridgehistory timestamps for each bridge, as appropriate.
Add a unit test that verifies we don't add duplicate bridges

Previously we did not check that a bridge was already in a splitter,
this resulted in adding bridges with (almost) identical information
and #9264.
Log fingerprint safely and safely iterate over long lists
Readd COLLECT_TIMESTAMPS in Main.load()

It looks like this was accidently deleted in
967f1a6a4290154977ab7c0cc2cbe0560d7246ce when we changed how we
parsed the bridge descriptors.

This was originally added in
11b83c612090d673d4f23ccaf85be66ec5588e8a.
Merge remote-tracking branch 'tpo-sysrqb/bug9264_rebased_3_r1' into develop