Lots of miscellaneous changes to bring classes in line with Oladapo's comments.
Adding IdfFormatException (needed for previous commit).