red-brick: Use dedicated enum for the directory object entry type

Not all file types can be directory entries.
red-brick: Rename get_program_directory to get_program_root_directory
red-brick: Remove process state change timestamp and move PID to get_process_identity
red-brick: Make read_file_async more like write_file_async and read_file

read_file_async doesn't return an error code anymore. All reporting is
done with the async_file_read callback, just like write_file_async does.

If there is nothing to read then report zero bytes and stop the async
read operation, just like read_file does.