Place agent at the given cell. For GridOccupancy.SINGLE grids, throws if the target cell is already occupied by a different agent.