refactor: calculate bounds at the end

rather than as we go
fix: Alan Williams (Swansea West) is never Dr.

We work around similarly named MPs too late, and so mess up their
other_names
refactor: cache by name/constituency

for quicker lookup