RFC: Sorted gemvs

Um, @tbekolay @hunse - what do you think of what's going on in the simulator?

If you like the direction it has taken, think about moving the Simulator *function* upstream to the build step, and then the simulator class (currently called Sim2) can assume the name "Simulator" again, and all will be well.

There are lots of commits, a huge squash will be in order once things settle.