Adding the concept of external deprecations.

An externally deprecated definition is marked deprecated for external
clients only. This allows the framework implementation to use the
definition without receiving deprecation warnings/errors.

Issue: PLCR-543