Refactor MoveEffect to global scope.
Implement confusion and flinching from moves.
Refactor NormalMove to its own header.
Implement draining moves.