Utils 1.2

- CanAttack() now checks the attack type of the unit
- IsRanged() now operates on attackType
- SafeCastAbility() now doesn't assume ability was a spell when checking
casting conditions
- Removed GetOwner() and IsHidden()
- Fixed a rare bug in GetType()
- Updated the inheritance system