Make basic block scheduling deterministic

by using a ListMap instead of a HashMap. Should fix test flakyness, also
gets rid of the ugly assembler isomorphism test code.