DragNDropGenerator background image now uses source file extension.

Instead of blindly copying the CPACK_DMG_BACKGROUND_IMAGE file to
background.png, we instead use the same file extension as the source image.
This is needed for proper support of multi resolution tif backgrounds.
DragNDropGenerator now places the background image file in a hidden folder.

by using a hidden folder we avoid the need to mark the file as hidden from
finder, and it makes it easier for future work to refer to the background
image file.
DragNDropGenerator now can run an apple script when making a package.

While the DragNDropGenerator supports custom DS_Store and backgrounds, it is
still very hard to automatically setup nice looking packages. The primary
issue is that the DS_Store embeds the name of the volume in the path
to backgrounds, which means that if a package embeds the version in its
volume name a new DS_Store must generated for each release.

Instead you now can use applescript to setup your DS_Store.
DragNDropGenerator copies the background image after the dmg is created.

This is required so that the permissions on the image are correct so that
an apple script can set the background.
DragNDropGenerator now manually computes the size of the temp dmg image.

When creating a DragNDrop bundle with a custom layout and background you need
to make sure that the image size is large enough to store both the background
and the custom .DS_Store.

Now previously the DragNDropGenerator relied on the fact that both of these
files would exist in the staging folder so it could let hdiutil compute an
exact size. Now that we allow generation of the .DS_Store to happen after
creation of the image we need to manually specify the size of the image
to include room for the new .DS_Store and background.

The whole reason why we have to delay the background image copy, is that
if we let hdiutil package the background image it gets modified in such away
that applescript aren't able to specify it as the background image.
DragNDropGenerator Updated Documentation to include new variables.

The DragNDropGenerator documentation now covers the new behavior of
CPACK_DMG_BACKGROUND_IMAGE and what the purpose of
CPACK_DMG_DS_STORE_SETUP_SCRIPT is.
CMake DragNDrop release now uses a custom background and script
Merge topic 'better_custom_dmgs' into next

76a39f7a DragNDropGenerator Updated Documentation to include new variables.
dfb74f52 DragNDropGenerator now manually computes the size of the temp dmg image.
2dc198b2 DragNDropGenerator copies the background image after the dmg is created.
309ffd8e DragNDropGenerator now can run an apple script when making a package.
a7f55ac9 DragNDropGenerator now places the background image file in a hidden folder.
2c8b9f50 DragNDropGenerator background image now uses source file extension.
Merge topic 'better_looking_mac_package' into next

4549f8ef CMake DragNDrop release now uses a custom background and script