Define OFF_MAX, to be used only in the kernel.

Many variables in the kernel are of type off_t. There isn't, however, a
definition holding the highest value that this type can represent.
Address this issue by defining OFF_MAX; inspired by FreeBSD.

OK natano@ patrick@.
Don't silently truncate uint64_t to off_t.

Prevent a silent truncation of uint64_t to off_t when calling vn_rdwr()
by explicitly checking against OFF_MAX. Add an earlier check to catch
this condition in the load case; when generating a snap, there is no
immediate way of knowing how large it will be, so we need to check every
time before calling vn_rdwr().

Problem noticed by Gerhard Roth <groth@genua.de>.

OK natano@ patrick@.