(#15369) Terminus for use with puppet apply

This patch provides a new terminus that is suitable for facts storage usage
with masterless or `puppet apply` usage. The idea is that it acts as a fact
cache terminus, intercepting the first save request and storing the values
in PuppetDB.

I've modified the documentation that referenced the old inability to use
inventory service with puppet apply, and added some acceptance tests.

Signed-off-by: Ken Barber <ken@bob.sh>