Implement directory backend for indexing files

This implementation traverses all directories recursively and does not
contain any options for filtering files (e.g. glob syntax).