The spectators are not hit by projectiles (ticket 11)

~~This is an early Pull-Request. Don't merge now!~~

- [x] Cancel hits from all projectiles, potions excepted (`EntityDamageByEntityEvent`).
- [x] Cancel hits from potions (`PotionSplashEvent`).
- [x] ~~Send a message to the spectator to explain why he has been teleported/teleported back.~~

Possible fixes for this (using `EntityDamageByEntityEvent`):

1. Teleport the spectator up two blocks, let the projectile go through, then teleport the spectator back down 2 blocks again.
2. The arrow is teleported to the other side of the spectator, velocity and direction are reset to what they were before the collision with the spectator and it continues on its flight.
3. Use `ProjectileHitEvent` instead (it's called when a projectile hits anything, e.g. wall, ground, mob, player...). However, it doesn't directly show what/who it hit, so it would require the use of `Entity.getNearbyEntities(1,1,1)`, a Vanilla Minecraft method which may have an impact on performance.
4. The first option for all projectiles except potions, and a `PotionSplashEvent`-based fix similar to the first one for potions. This because the `EntityDamageByEntityEvent` does not fire when an entity is hit by a positive or neutral potion.

I'm currently following the fourth idea.
Why not the second one? Because the player who fired must absolutely see the arrow going in the expected location, with a high accuracy.
Teleport the projectile across the spectators does not allow this precision, due to the fact that the path is not straight, but curved.

Currently, when a spectator is hit, I teleport the player up, then I teleport the arrow where it was before the hit, and I reset the velocity. Then I cancel the event.
So there is a visual glitch for the spectator, but the arrow will go in the exact same location as the “normal” location, without a spectator in the middle.

I think that point (exact same behavior for the non-spec players) is the **most important** point here, related to the fix.

---

Oh. Ticket 11, Pull Request #11. Coincidence? I don't think so...