Creates a SquareSet from several Squares.
SquareSet.fromSquares(Iterable<Square> squares) : value = squares .map((square) => 1 << square) .fold(0, (left, right) => left | right);