(PUP-3750) Support :include: in mailalias type

The mailalias type does not allow the specification of included files,
which contain an alias's elements. Such alias entries are commonly
specified in the an MTA's aliases file through the following syntax.

aliasname: :include: /path/to/file

Specifying the rest of an ":include:" line as a recipient does not
work, because the existing mailalias type will quote the entry.

This change adds a new parameter named "file" to the mailalias type,
which allows the indirect specification of a file containing the
recipients.  The parameter parses and generates ":include:" alias entries.
Hi @dspinellis, the short version is that the test should expect `file.set('/tmp/afile')`.

The long version. When you declare a `newproperty`, puppet will store the `should` value in an [array](https://github.com/puppetlabs/puppet/blob/master/lib/puppet/property.rb#L520). Often times, these are single element arrays, e.g. for `:target`. Generally you don't need to override `Puppet::Property#should`, as puppet's default implementation will return the [single value from the array](https://github.com/puppetlabs/puppet/blob/master/lib/puppet/property.rb#L502).

The reason the test started failing is because puppet will `sync` the resource by calling [`set(should)`](https://github.com/puppetlabs/puppet/blob/master/lib/puppet/property.rb#L537) on the property passing in the desired value. When you removed `def should` from your property, then puppet's built-in `should` method returned the value as a single element, not as an array as the test was expecting.

Unfortunately you will find `def should` used elsewhere in puppet, e.g. the `:recipient` property was added in 2d3c920e0fdef4ca38e14677a4a670f0890ff994, and you'll see similar things in `cron`. Those are just the old way of doing things. Since then, puppet's DSL has evolved to make it easier to define single and multi-valued properties.

And actually I think you could remove the `def should` method from the `:recipient` property, and puppet should do-the-right thing.