Organizing Maven dependencies

With comments to help users to check if some dependency can be removed in their applications.

Questions:

1) Why `javax.inject:javax.inject` is provided but `javax.annotation:javax.annotation-api` isn't? Both are provided by appserver but no by servlet containers. The same for `javax.interceptor:javax.interceptor-api` and `javax.ejb:javax.ejb-api`. The default dependencies should focused in appserver or servlet containers?

2) Why `org.hibernate:hibernate-validator-cdi` is provided? May be this artifact should only test scoped, because we need to use in tests. Or if our focus is on servlet containers should compile.