improved handling of files: on the server side, now we can create folders recursively; on the client side, we always use relative paths (base path is the project folder)
merging TreeList.js