AbilityManager interface and documentation

AbilityManager interface added
SimpleAbilityManager implements AbilityManager, using Singleton pattern
ClassicAbilities.init added, which registers all PokemonAbilities with
manager
Documentation added to various stuff