u_trie_free: Only invoke non-NULL callback, and only with non-NULL data
u_trie_free: Fix "invalid pointer" error.

The root node of the trie is allocated as part of the main trie struct, so
we don't want to call trie_e_del() on it. So we let free_real take care of
calling trie_e_del() on child nodes, meaning the root node is never freed.