(#19558) Add resource and manifest context to type validation failures

When a resource fails validation with a validate method defined at the type
level (rather than individual parameters), provide additional context with the
resource name, manifest file and line number.
(#19558) Add manifest file/line to parameter validation failures

For consistency, provide manifest file and line number in the error message
when a parameter fails to validate.
(#19558) Only catch Puppet::Error and ArgumentError when validating parameters

Parameter validation methods are expected to only throw Puppet::Error
derivatives (i.e. via the fail() method) or ArgumentErrors, so specifically
catch these.