add @ProviderType and @ConsumerType annotations to all public types, define @Version in package-info files