Function which creates a unique fingerprint for a madrat function based on
the code of the function itself, other madrat functions which are called by
this function and of all source folders involved in the process.
The fingerprint can serve as an indication whether the workflow for the given
function has been most likely changed, or not. If all involved source folders
and the code of all involved functions remains the same, also the fingerprint
will stay the same, otherwise it will change. Hence, it can be to figure out
whether a cache file can be used for further calculations, or whether the
calculation should be redone.