Fixes to projectiles and the undead

* Fixed projectiles not registering block and entity hits properly
* Improved the undead AI in terms of navigating into sunlit areas
This should probably be reversed so `AddPosition(double, double, double)` calls `AddPosition(Vector3d)` so that `AddPosition(Vector3d)` doesn't just break the vector down then stick it together again.