Made some changes to how behavior works.

Behavior code is being split into task code and required code. Required
code (such as claiming buildings, items) will happen before the task is
actually assigned to a golem. If any of the required commands fail, the
golem cannot take the task.

This is a WIP.