Slightly sanitize intel fixes in gmsh reader.

This is based on the new understanding (from Ben at NCI explained to me via Rhodri - so caveat emptor)
 of the intel bug/feature where it disagrees with gcc about the file positioning. Basically after a

  read(unit, '(I1)', advance='no')

(Note there's nothing actually read since there are no variables on the right) - intel
decides that the advance='no' must apply to the next read(), whereas gcc simply applies
the default in the next read. Have now moved the intel specific code to directly after
the read following a call to ascii_formatting() call (which has the above read statement), instead
at a random place in the next subroutine along.

Also moved a call to binary_formatting() outside a node loop, as closing, openening and rewinding the file
for each node is probably not a good idea.