#19422: Deal with invalid arguments to nagios types

When passing an empty string as an argument to a nagios type, naginator will generate an invalid config file which it fails to parse; additionally, the error handler throws an exception.

These commits make Puppet::Provider::ParsedFile's error reporting more robust, make Puppet::Provider::Naginator return a Puppet::ParseError so ParsedFile can add a file name to it and finally forbid empty values to be written to the nagios_* file targets.