Fix package_name and final_dmg inconsistency if safe name != name

If the project name has characters such as "-" in, package_name wasn't
resolving to what was created in the final output. This fix ties the two functions
together to avoid that, and also work with other packagers than "pkg".
Make dmg compressor package_name def more readable
Remove the dmg compressor final_dmg def
Add unit spec coverage for packager affecting dmg compressor package_name.

The original specified behaviour has changed as well, no longer containing
the name/version/build iteration behaviour in the dmg, so it's spec is updated
to show that.
Simplify dmg package path using base package_path
Merge pull request #358 from andytson/feature/fix-dmg-pkg-missmatch

Fix package_name and final_dmg inconsistency if safe name != name