began redesigning DeepTeam and MoveWithPP to fix aliasing problem
added MoveWithPP class to fix pp aliasing problem
Began Major refactoring of the DeepPokemon class. Splitting into two
classes ActivePokemon and InactivePokemon to better separate the logic
of status aliments like confuse, perish song, etc from inactive Pokemon
which don't have these statuses.
Finished implementing activePokemon status conditions. also refactored
stat stages into its own class. Will need to implement stage %ages
later.
refactored damage classes and game class to except ActivePokemon.
refactored team class to return ActivePokemon from GetActive pokemon.
Renamed DeepPokemon class to IncativePokemon

Renamed DeepPokemon class to IncativePokemon in preparation for removing
activePokemon code from DeepPokemon/IncactivePokemon. Beginning Stats
class refactor for tomorrow also.
Impemented stageable base class and sub classes for Stagable stats,
hit ratio and crit ratio... I'll need to improve hit ratio and crit
ratio classes since they behave differently. finished activePokemon
class
and removing code from InactivePokemon. added some nice helper functions
to Pokemon interface to clean up hard to read .equals() calls.
added isType to Move enum, hasItem,isSpecies to Pokemon interface to
clean up the conditionals in code, worked on end of turn game method.
Team class redesign completed to remove old code and improve it for
branch complete.