Start factoring resolve() loop back out
And test the newly broken back out resolve method
Remove the resolve loop from the application model

Switch a large chunk of the tests back to the engine - these should probably be pushed back again as they're
only really caring about / testing one step, but I'm going to leave them here for the moment.

N.B. There are tests in pec/orc/model_application_spec that need fixing / un-commenting