Altered Character System

Added the AbilitiesHolder abstract class, which just holds a list for
the abilites for the LevelTract and AI classes. Also returns an
AbilitiesIterator, a new class, which hopefully can work with foreach
loops and you can access abilities at a specific index. Also added the
Weapon class. The weapons can have all the stats, except armor, which
can add to the total for the characters stats. It also has baseDamage
for how powerful the weapon is. The getStat method in the Character
class automatically adds the weapons stat to the character's base stat
when you retrieve a specific stat.