A gyro is not a good idea for 4) and 5); a photo interrupter, encoder wheel, or hall sensor should be used for watching the motion of the wheels. Pololu sells a wheel encoder that would probably work well if you used the spokes of the wheel to record motion (you just need the encoder itself, but the previous link shows how it all goes together).