Major updates and fixes

1. Validate2() fixed
Queue check issue fixed

2. struct HVItem removed
Efficient alternative found.

3. ReadLine 9x9 grid space input issue
Removed unnecessary separation of 9x9 grids and larger ones

4. CheckHVLeftOver & CheckInnerBoxLeftOver while loop immediate break
originally: backupgrid = Grid; , making the backupgrid change
dynamically as Grid change due to direct reference
Changed Grid to Grid.Clone() as int[,] and used GridSame for grid
equality check

5. Experimental codes moved to testing file

6. PrintHorizontal() changed from '-' to '+' on grid cross

7. CheckHVLeftOver else loop efficiency improved

8. GetLeastEmptyBlock flaw fixed
If the least block had 0 empty, it was chosen in previous ones

9. BackupGrid made to while-loop

10. Commandline read file
-1 line string input compatible