Fix a memory leak

When copying a string you need to hold on to the original reference so
you can free it after.
Also free the tableFiles array

While this frees parts of the memory we neglect to free the strings
inside the array. This still needs to be done.
Also free the tableList

With this patch all the leaks should be gone
Do not free tableFiles when it is NULL

and improve the naming
Do not free NULL

When tableFiles is NULL the macro tried to free it anyway. Change the
macro into a function and test for NULL before freeing.

This fixes a segfault in the tests.
Add a NEWS entry for the fix of the memory leak
Merge branch 'cegli_memory_leak'

Fixes #1 and closes #2
memory leak in resolveSubtable and defaultTableResolver

Thanks to Christian Egli for finding the memory leak and providing the patches.