Added a new requirement to abstract SuperCreature class: startMove().

So, move() is protected now. This is to separate update() and move() for
each creature. update() is always called by World on the creature.
update() should always call move(). This separation is to make it easier
to read what code exactly is making the creature move. So sometimes
there will be no other code in update() except a call to move(). But
other code could include updating the creature such that its animated
yet does not actually move its position.
Got trail working for RandomWalker using an array of stored values.
Should turn this into a behaviour object drop-in.
Merge pull request #3 from zlot/Random-Walker-Trail-Addition

Random walker trail addition