Support running a validation command on the destination file.

This patch allows a user to pass an optional `validate_cmd` parameter to a `concat` resource, which in turn will run a command to validate the output of the file before the module replaces it. It follows the same semantics as the `validate_cmd` parameter to the `file` resource.

Example:
```puppet
concat { '/etc/httpd/conf/httpd.conf':
  ensure       => file,
  validate_cmd => '/usr/sbin/apache2 -t -f %',
  owner        => 'apache2',
  group        => 'apache2',
  mode         => '0644'
}
```