Add new Yagnats interface that wraps the apcera nats client

Rather than using our own nats client implementation, prefer to use
apcera's client, but we still want to wrap it to make it easy to test.
To avoid breaking existing clients we're preserving the old code for
now, but new consumers should use the yagnats.NewApceraClientWrapper()
function (and the corresponding fakeyagnats.NewApceraClientWrapper() method).

The old code now prints a deprecation warning, and may be removed in a
future version.

[#78730030]