(maint) Scrub whitespace on global setting descriptions when inserting into man pages

These text blobs use the hanging indent style used in a lot of our embedded doc
strings, so we have to handle that indent properly with scrub.
(PUP-1707) Fix possible gsubs on nil in man page ERB template

In several places, this template would attempt to fall back to summaries if long
descriptions were absent. However, before deciding to use the summary, it would
attempt to do a gsub on nil, which would blow up the entire process.

This commit does the fallback earlier, and adds final fallback text so we won't
be using text methods on nil if the summary is also absent.
(PUP-1707) Ensure puppet man works for all applications

Adds a spec test that ensures `puppet man <app>` exits with 0 and does
not emit the 'undefined method' error reported in PUP-1707.
Merge branch 'pr/2359'

* pr/2359:
  (PUP-1707) Ensure puppet man works for all applications
  (PUP-1707) Fix possible gsubs on nil in man page ERB template
  (maint) Scrub whitespace on global setting descriptions when inserting into man pages

Closes GH-2359