Log the target pid when fetching the process name fails.

Issue: PLCR-532
Document that the process name values may be nil.

Issue: PLCR-532
Add missing nil checks for process name values.

This ensures that the inability to fetch or decode the process name (eg,
due to use of invalid UTF-8) won't trigger a crash at crash reporter
initialization time.

Ideally, this code would be unit tested, but that will require
significant changes to the PLCrashLogWriter; in the interests of
regression avoidance, we'll revisit larger-scale API changes as part of
the general refactoring of this code scheduled for the next major
update.

Issue: PLCR-532
Remove unnecessary macro argument in LEN_UTF8() macro.

This is a non-functional change.

Issue: PLCR-532