Major overhaul. Update now returns a true or false boolean, based on
whether or not it added an action to the list, and is now passed the
list as part of the update method- this means that the method can add as
many actions as it chooses to add to the system. If the action resolver
now needs five seconds to resolve three thousand attack actions, so be
it.