Use modified product names for build directories.

Users should be able to use any product name they want. In particular,
they should not be limited by what the file system supports; this is why
we have the "targetName" property. However, we currently subvert this by
using the product name as-is in the build directory. Instead, we now use
a super-safe version of the product name consisting only of selected
ASCII characters and make it unique by appending a hash of the original
name.

Change-Id: I3acf06d83a1c8a8c0a4716a7ac47a5bf8652075d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>