split the transaction computation out of #resolve

This is meant so that additional computation / adaptation can
be done on the transaction before it gets committed

Conflicts:
	lib/syskit/network_generation/engine.rb
	test/network_generation/test_engine.rb