gets rid of Unit subclasses
work to refactor strategy package. Need to get back gather action
Gather seems not to be working : /
Merge branch 'master' of https://github.com/Tadimsky/vooga into refactor_sprite_hierarchy_strategy

Conflicts:
	src/vooga/rts/gamedesign/sprite/gamesprites/interactive/Unit.java
	src/vooga/rts/gamedesign/strategy/gatherstrategy/CanGather.java
	src/vooga/rts/gamedesign/strategy/production/CanProduce.java
	src/vooga/rts/state/GameState.java
Add UpgradeNodes. Getsback upgrade feature. Who deleted it : /
Load upgrade node paths into decoder through file. Have upgrade xml take in multiple upgrade trees
make usage of reflection helper static
put Unit and Building back to separate packages
Deleted useless classes. Added speed to relevant classes.
Made common sense constructors for building and entity
Factory working for new streamlined constructors
Added WeaponDecoder
Added ProjectileDecoder
Factory working with new decoders
Added CustomHandler to all decoders
Dependencies are now defined
Factory can initialize weapons and their projectiles.

Factory knows what to attack strategy to use based on whether the
entity has weapons or not.
Added getters for Resources and Entities
I don't know how to merge this
merge with master