Use Yard macros in API docs

Previously there was a hole in our API documentation that overridden
methods did not inherit their parent's documentation.  There is an
issue open with the Yard team to fix this bug, but until then the
decision was made to use Yard macros to duplicate the documentation.
This change adds the Yard macros and cleans up other miscellaneous
documentation errors.

[#59111410]
Merge 59111410-yard-docs to master

[#59111410]
Required service credentials

Previously, if a service was named such that it matched a service
search string (e.g. if it had insight anywhere within the name), the
the service finder would match the service.  This caused problems as
some times as service named in a certain way wasn't what a framework
was expecting.  This change allows component implementors to search
not only for a string in the service name, label, and tags, but also
ensure that a set of keys are present in the credentials.  If the a
single service matches, but the credentials aren't right, a warning is
printed and service will not be counted as a match.

[#64765506]
Merge 64765506-service-credential-requirements to master

[Completes #64765506]