Clean up internals of the application model.

We now only hold onto the actions which we proposed at each stage, rather than in parallel holding a copy of all the live
instances. The actions know what instance they're associated with anyway.

This still feels somehow wrong, I think it would be better to capture the instances as we sample them each time, and then maybe
break the taking of an action (and the resolve loop) back out into Orc::Engine.

I.E. Orc::Engine would ask the application model what action to take, but the looping and recording what actions had been taken
and success / failure would be external.