Return cache_entry refs in dirent populate callback.

The dirent populate callback routine leaked cache entry
references, which are returned indirectly from
cache_inode_new_entry.

The desired behavior is to return each reference immediately.
The LRU mechanism and policies will take care of its lifetime
in the entry cache.

For improved readability, rename the callback from "populate"
to "populate_dirent."  Simplify error handling, just return
false at the error point, since the error label did no work.
Use STYLE(9) return.

Thanks to Dominique Martinet <dominique.martinet@cea.fr> for
finding and reporting this.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>