CPack refactoring

This allows multi-configuration release packages to be generated and linked on Windows and other build systems supporting a multi-configuration release process.  Systems which don't support this are unaffected.