Expanded previous refactoring: index representation as Position object.
Refactored to use Optional<Piece> in HnefltaflState objects.