Progress: Focus on directory recursion related changes and Featureless Make.
I decided to offload some of the design in fl_directory_do().
The caller provides a callback and handles the combining of the path and the base file name.
This should allow for more optimization in string allocation and reduce some of the overhead of recursion.
The recursion now only records the used string rather than allocate an array of the path each time.
This should ideally reduce the amount of memory in the recursion.
The caller can now provide a custom variable to pass local data to the callbacks.
Rename 'first' and 'last' into 'before' and 'after', respectively, to be more semantically accurate.
Initial implementation of callbacks for action and handle.
I may have more work to do in the error handling, but I decided now is a good place to stop and save the progress.