Add a new @PublicAPI annotation type that can be used later to mark OpenDS
packages, classes, and methods to indicate what part (if any) they play in the
OpenDS public API. This annotation type can be useful for documentation
purposes, for helping to verify whether third-party code is using appropriate
interfaces, and ensuring that what we declare as our public API does not change
in an inappropriate way between releases.
This commit also introduces a new StabilityLevel enumeration that can be used
to indicate the likelihood that the associated code will change in an
incompatible manner in the future.
Comments in the @PublicAPI annotation type and the StabilityLevel enum should
adequately describe their purpose and intended use. At the present time, none
of the OpenDS code uses them, but we will add the @PublicAPI annotation to
OpenDS code where appropriate before the 1.0 release in order to help define
what is included in our public API.
Note that checkstyle analysis is currently disabled for this annotation type
because of an apparent checkstyle limitation that does not support the use of
Javadoc comments in methods used to define annotation type properties.