Re-write transitive_sourcs and transitive_targets to handle routing blocks (and actually all other routing table entry types) correctly.
Add tests for flip_direction (was flip_router previously but flip_direction seems like a better name).