Add missing projectiles: EyeOfEnder, Fireball, FishHook,
ThrownExpBottle, ThrownPotion. Add more methods to Arrow and Projectile. Add ProjectileSource,
BlockProjectileSource, and ExternalProjectileSource.