Centipede move updates

Centipede now changes its last horizontal direction when it is down
moving up/down a tile. It also calls move() on its nextSegment.
cleaned up makeCentipede

the method was supposed to be static; sorry. but we need to use a
factory because "this" cannot be allowed to escape in the constructor.
it was repeated a thousand times in lecture and we'll lose points if we
do that.