fixed topo_update to avoid rounding errors

@dlgeorge, could you take a look at this...

When running with -g and bounds-check, the ijlr index was beyond the end of the array due to x being O(epsilon) larger than xlowdtopo(m) + dxdtopo(m)*mxdtopo(m).  

Bilinear interp should still work fine I think, so comment in line 111 could be removed.