Consumer

I modified the code to work with our new infrastructure.

Another state, ASSIGN, has been added that sets up the roles of the outposts and determines a starting position close to our home base where we can build our formation.

To deal with the water issue, I realized that it's not terrible if a component of the consumer breaks formation, as long as one of the component's coordinates is still correct. For example, if one outpost is supposed to be at point (x,y) but is instead at point (a,b) and either a==x or b==y, then I continue attacking as though nothing bad has happened. Otherwise, if neither a==x nor b==y, the formation has broken up too much, so I revert back to the BUILD state which attempts to reform the proper consumer shape. This seems to be working way better than the previous traversal algorithm, and leads to some interesting behavior.

If one of the outposts in the formation is disbanded, the rest of the outposts devoted to the consumer maintain their roles and hustle back to the home base area, where another outpost will take the disbanded one's place.