Initial implementation of AsyncFile::mktemp().

This provides a rough analogue to libc's mkstemp(), and will be used to
generate temporary file paths for use in 'atomic rename' operations.

WARNING: The implementation committed here calls arc4random_uniform(),
which is NOT async-safe. We'll be following up with an async-safe
arc4random_uniform() implementation, but until that time, this code
should NOT be used in an async-safe context.

Issue: PLCR-521