Added ISpecialBow for more flexibility with default Quiver

While working with the Quiver API, I was impressed with its flexibility, being able to accomplish almost everything I wanted with just the default implementations; however, I thought it would be very cool for modders using the default ItemQuiver to have a little more control over a few things:

1. Determining whether an arrow may be nocked or not, allowing for firing requirements that would otherwise only be possible using a custom IArrowContainer2 implementation (and even then, if you equip the default ItemQuiver you might be able to circumvent said requirements). This also gives custom bows an opportunity to do other things they may need to do during nocking, such as adjusting NBT tags.

2. Determining the order of and which specific IArrowFireHandlers should be applied, allowing custom bows to use their preferred handler(s) first or even completely ignore the default one.

Note that these are already possible when creating a custom quiver (i.e. IArrowContainer2), but not when using the default ItemQuiver. Custom quiver implementations could of course ignore ISpecialBow entirely, but this way custom bows can play nicely with the default quiver, at least, and still create a custom quiver if they desire.
A workaround I've come up with for issue # 1 (any arrow registered to quiver registry is able to be fired by vanilla bow) is to register new arrows using null entities:
QuiverArrowRegistry.addArrowToRegistry(customArrowStack, null);

This way, the arrows may be crafted with the standard quiver, but the default fire handler is unable to fire them, hot-swapped or not. Works great and is possibly a very viable solution to this issue, except for custom handling of vanilla arrows and preventing the initial nocking of unusable arrows, for both of which I have already proposed solutions.

In order to solve those issues with the current API, I had to preclude BG2's ArrowNock and ArrowLoose handling with my own logic (much of it copied from BG2's implementations); obviously it would be much preferable to be able to use the existing BG2 framework as much as possible.