Dev lesson 3

Pulling in the rewrite of lesson 3 -- code base is mostly the same, although we've removed the notion of turning in favor of simply up, down, left and right for motion.