Split out method for finding legal moves. Tided up some other bits.

The ComputerPlayer now has a method for finding all legal moves.

I created a PossibleMoves class for this as I needed to track whether or
not the bone needed to be flipped. This should really have been an
extension of the Play class but we can't see the implementation for that
and the constructor gave me grief so I have made a member variable of
type Play within PossiblePlays.

This is all now called from a function chooseMove so that the bits
common to both Computer and Human players can be handled by the makePlay
method in the Player class.