Lots of AI

This PR includes
- some entity events (death and damage)
- a lot of stuff to do with the ai system
- and removed the annoying debug with spawning in that fire. (It got on my nerves hearing that damage sound every time I logged in to test things)

Goals - A list of goals that an entity will try to achieve. Will execute only one goal at a time. Goals added first have a higher priority.

Targets - Similar to goals but the targets should be used to change the direction the entity's head is looking.

The pathfinding uses an A* algorithm and supports only mobs that are two high (might be one high), one wide, and one thick (other mobs will work but may clip through blocks). The costs in the A* algorithm are just the standard cost of the distance the entity would have to move rounded down to one decimal after the decimal point.

Future work on the pathfinder would be adding support for different sized mobs and adding costs to certain blocks. (eg. a path around a lake should be chosen over going through it)

On the PathNavigator, it should be migrated to moving the entity rather than teleporting it (sending the relative movement packet) and the rotation should be fixed. Right now I just have it set to manually check for each 8 directions the spider would be moving manually. There is probably a way to do it with no branching.