Refactor libinibin's InibinFile and Loader.

Should probably write a test before merging, because I don't know if my changes broke anything and there's a high chance I've maybe made an off-by-one error or something of the like.
Yep, by the C# language specification.
http://stackoverflow.com/questions/7359996/are-parameters-evaluated-in-order-when-passed-into-a-method