Nrmlwr fix, fixed issues seen with USRBDX

The original implementation was incorrect, the fixes here rectify the problems with nrmlwr and solve #100.

Now, this may need some git magic to put right, I believe I have committed my change in the correct place.

I don't believe next_surf was being properly updated and restored based on g1wr, now the logic is

* upon entry set next_surf -> prev_surf (set on exit of the g1wr)
* if prop_step takes us across the boundary, next_step set by ray_fire
* if it does not we reset next_surf to be prev surf (as it was on entry)
* finally update prev_surf = next_surf for use in next entry

Furthermore, in nrmlwr, Fluka treats senses in the opposite fashion to mcnp 
* If sense == 1 i.e. foward of the cell, then we need to reverse the direction of the normal, since this is what fluka expects.

Testing seen in #100 show the issue is rectified.