Vault: do a manual directory recursion in the directory builder
If we rely on the server side to do the recursion, we don't have fine grained control on the client side on what a reasonable timeout for the cooking is, because the storage has to return all the tree at once, instead of doing one request per level.
Migrated from T1177 (view on Phabricator)