Add setCritical and isCritical methods to Arrow.java. Adds BUKKIT-5113
[Bleeding] Add ProjectileSource interface. Addresses BUKKIT-1038, BUKKIT-1156
[Bleeding] Add setCharged and getCharged to WitherSkull. Adds BUKKIT-3060