ISpecialBow allows customization of fire handlers

Default behavior is still to use all registered IArrowFireHandlers in the order they were registered, but the ISpecialBow may instead return a custom list.