Add a way to make agents three phased

Created by: AxelCarayon

Right now agents only have a wake up method and they asynchronously perceive, decide and act.

Scheduler should be able to make them all perceive, then make them all decide then make them all act instead.