(#19162) Update type description

Update the readme and reboot type with a more realistic example of a package
that both won't install while a reboot is pending, and will require a reboot
to be complete installation.
(#19162) Add more validation to the timeout parameter

Adds more validation for non-integer values. We don't test that we reject nil.
values because that is handled by puppet.

Paired-with: Ethan Brown <ethan@puppetlabs.com>