Comment PrintNum.
Fix argument handling in *coord macros. Add a "percent" shortcut.

Random returns a value from 0 to 0xff.
Instead of doing extra work, most probabilities are out of 0xff.
Convert these from percentages at build time for readability.
Consolidate NUM_MOVES usage and monster struct labels.

There turned out to be a lot of instances of NUM_MOVES.
Use constants for move struct positioning.

This eliminates the need for arbitrary move labels like Move2 and Move1 that don't have anything to do with their respective moves.
Consolidate monster structs in wram and sram.

The PartyMon struct is really the box struct with volatile variables like status added.

Some other labels have been reworked.
Move structs no longer have explicit labels since their location is arbitrary and usually shared.
Reformat the channel_struct macro and use more constants in wram.
More battle code cleanup.

- Use more substatus constants.
- Reformat some code to be more atomic.
- Add constants for unused status prevention held item effects.
- Remove pointless or redundant comments.
Battle type constants in the wild.

Also add constants for trap and Celebi event battles.
Rename _GetBattleVar -> GetBattleVarAddr.

Functions prefixed with _ imply they're private.
The real purpose of this function is to use an address,
rather than saving a few cycles on push/pop.