Implements data builder function

Implements build_data(). This function reads a directory recursively
and coverts it to a data structure compatible with explode_data()
Reimplement list behaviour

Lists are handled as a group of independent entries (files or
directories) within the current directory.