Creates and return a path to a private, temporary directory * This function can be used when data needs to be writen to and manipulated on the disk without worring about it being overwritten by other programs or the user. This directory will be destroyed when the program exits. *