rework of file struct header stuff

put file struct definition back in file.c
now all accesses to members have to come through methods defined in file.c, made public via file.h
this is kind of dumb, but for some reason this could fix the "Couldn't find loader" error? (seems unlikely)