Finished the Ability abstract class. Decided to keep this class abstract
so we may initialize non-constant variables and define some of the
methods--as was suggested originally by Trent. The two interfaces
extending this class will remain interfaces.