Add Slot which represents either Move or Marker

To get rid of some nasty (uint, Marker) tuples introduce
an enum called Slot that can be either the Marker or a Move(unit).
This makes printing far easier.

Also get rid of Marker::Empty and replace it with Option<Marker>.