Update: ensure string parameter tests exist and add f_file_name_base() and f_file_name_directory() functions
I seem to have forgotten that f_string is a char * and should be checked to not be NULL.
I think I removed these during a cleanup process, so add them back.
The basename() and dirname() functions need to be suppoted.
They require extra effort because as per the POSIX standard, parameters are modified.
This is undesirable so protect the parameters when calling.