Features:

- [#414] Add a new `@Requires` annotation.
    - This is similar to `@ClientOnly` or `@DedicatedServerOnly`, but instead removes an annotated element if the mod(s) specified are not present.
    For example:

```java
public class MyOptionalTrinketItem extends Item implements @Requires("trinkets") Trinket {
    @Override
    @Requires("trinkets")
    public Multimap<EntityAttribute, EntityAttributeModifier> getModifiers(ItemStack stack, SlotReference slot, LivingEntity entity, UUID uuid) {
        // ...
    }
}
```

- [#413] Include the reason in breakage errors (EnnuiL)
- Also check the game provider jar to see if it contains a mod.
    - This was added for Cosmic Quilt, it doesn't affect Minecraft, but it may be useful to other game providers.
- Populate the full package definition from `META-INF/MANIFEST.MF` for mods.
    - This means `java.lang.Package` will now contain `get(Specification|Implementation)(Title|Version|Vendor)`, if they are defined by mods.

Bug Fixes:

- Fixed the forked error window throwing errors too early if it cannot create the new process
- Fixed @DedicatedServerOnly and @ClientOnly not working when applied to packages.
