Fix the functionality that creates artifical gaps for testing.
Keep an explicit edge list in the branch instructions.

This removes the wart of the branch instruction constructors having to
take an IceCfgNode* argument.

The OutEdges list is still post-computed and cached in the IceCfgNode
for simplicity and for consistency with the InEdges list, though that
could change in the future.