Add obstacle graphics and data
refactor PhysicalUnit

Most of PhysicalUnit's functionality is now in PhysicalBody, which will
serve as a base class for PhysicalUnit and Obstacle.
add obstacle class
Add new DataManager. Use for Spaceman.
Sprite, UnitSprite, WeaponSprite use new DataManager
load weapons from new DataManager
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.
enemydata extends physicaldata
transition level/wave to new DataManager
remove old datamanager
default config = debug, not release