Fix files over the 4GB limit

Only files under the 4GB limit were working properly, since i_size_high
was being completely ignored.  This commit removes all uses of the i_size_*
fields and replaces it with a small inline function that takes both the
high and the low part in use.