(#16568) Warn when TypeCollection skips missing objects

Commit 242692e optimized the `TypeCollection` by having it track missing
objects and then skip searching for those objects during subsequent
compilations. The problem is that this behavior was not logged which led many
users to wonder why classes and definitions would repeatedly come up as missing
until the puppet master was restarted (ref [#16568][16568]).

[16568]: https://projects.puppetlabs.com/issues/16568
(#16568) Try to load missing types by default

This patch adds a new setting `:ignoremissingtypes` that controls the
optimization introduced in 242692e. This setting defaults to `false` as the
behavior of this optimization is likely to confuse those who don't need it.
Merge branch 'Sharpie-16568-make-typecollection-optimization-optional' into stable

* Sharpie-16568-make-typecollection-optimization-optional:
  (#16568) Try to load missing types by default
  (#16568) Warn when TypeCollection skips missing objects

closes #1616
Merge branch 'stable'

* stable:
  (#16568) Try to load missing types by default
  (#16568) Warn when TypeCollection skips missing objects