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. 
Again it might be faster to use (1 << m_Intensity) instead of std::pow(2.0, m_Intensity) and then cast m_DistanceModifier to int before the calculation, yielding the line as:
int amount = 6 * (1 << m_Intensity) * (int)m_DistanceModifier;