Create packager-specific DSLs

:red_circle: :construction: :construction_worker: 

This PR permits the user to define custom packagers on the project. For example:

```ruby
name 'chef'
# ...

package :msi do
  parameters upgrade_code: 'ABC-123'
end

package :pkg do
  identifier 'com.getchef.chef' # formerly Project#mac_pkg_identifier
  signing_identity 'whatevs'
end

package :rpm do
  signing_passphrase ENV['SUPER_SECRET_PASSPHRASE']
end
```
Let's use a full GUID (e.g. `2CD7259C-776D-4DDB-A4C8-6E544E580AA1`) for the sample value passed to `MissingRequiredAttribute `.