More tests for the XmlRetriever class and methods
Module and Weapon classes now take an optional filename_or_stream argument which dfaults to module.xml and weapon.xml respectively.
This enable the sending of a StringIO object containing xml data to be used in testing
Removed the need for patching the Module and Weapon to set our own test data
Changes for PEP8 compliance
More tests for Weapon skill and module modifiers
Added a filename_or_stream optional argument to ModuleLibrary
Added tests for ModuleLibrary
Added filename_or_stream optional argument to WeaponLibrary
Added optional filename_or_stream argument to WeaponLibrary
Make sure to rewind the data stream before reading from it
Refactored common code into _get_tree() method
Refactored WeaponLibrary to be a true subclass of ModuleLibrary