Fix the orientation of the halfface to be added into the cell.
Boundary face iterator now works correctly.
Next, write up the boundary mesh generator, a clean one that has no orientation problem.