Added potions and entity effect accessors

Don't merge yet - opening PR for public discussion and suggestions.
* Fixes #922
* Fixes #942
* Fixes #899
* Fixes #926

**What I've done**
- Entity effect map in `cPawn`
- Removed food-poisoning-specific code in `cPlayer`, instead opting for the centralized entity effect approach
- Implemented some entity effects
- Implemented milk
- Implemented drinkable potions
- Implemented splash potions (affect players and mobs)
- Fixed issue preventing players from instantaneously healing
- Cave spider poisons its victim

**What I have yet to do**
- All of the many TODO's I've left
  - Implement the rest of the entity effects
  - Wither skull implementation
  - Better potion splash effectiveness equation
- Fix splash potion color when thrown

**What I need help with**
- API hooks

Feel free to contribute at the `potions` branch. 
I think a union would show what it means quite clearly. We'd just need to add an additional union member for each way the value is used. Also I want to move more of the code from hex to bitfields.  Or we could just simulate a union with casts, might be clearer.