take weapondata in weapon constructor
throwableweapon uses new data loader
Gadget uses new DataManager
particle generators/effects using new DataManager.

Added support for Ref objects in xml files.
XML Elements whose names end with Ref will be treated as such:
Call GetData<T>(name), where name is the name with Ref stripped from it.
Populate data object with field values retrieved from the ref.
Replace field values with those found in the ref element.