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
```
This changed right? Should be:

```ruby
package :msi do
  upgrade_code '2CD7259C-776D-4DDB-A4C8-6E544E580AA1'
end
```