Fail early if trying to read a string larger than the nif file size.

This is much better than failing after a few minutes with an out of memory error.
Use an easier method to get a nif file's version string.

This doesn't use a manual buffer, so can handle strings of any size.