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. 
A union would be quite difficult to handle in all the other cases, plus for some cases you need multiple bits etc.
We quite regularly use hex bitmasks in the code, I think hex numbers are good enough for all of this.