Allow the module caller to choose their own name value for the MX record resource

The $alias value that ended up being propagated into the `dns::record`
define (via `dns::record::mx`) ended up colliding in certain scenarios.

Using the following example:
```puppet
  dns::record::mx {'foo.com-aspmx2.googlemail.com':
    host       => '',
    zone       => 'foo.com',
    preference => '10',
    data       => 'aspmx2.googlemail.com',
  }

  dns::record::mx {'foo.com-aspmx3.googlemail.com':
    host       => '',
    zone       => 'foo.com',
    preference => '10',
    data       => 'aspmx3.googlemail.com',
  }
```

The (desired) end state would be something like:
```
foo.com.             3600    IN      MX      10 aspmx2.googlemail.com.
foo.com.             3600    IN      MX      10 aspmx3.googlemail.com.
```

The above puppet code ended up puppet duplicate
`Dns::Record[,MX,foo.com]` errors since the `host` entry was empty.