Rank use earlier data, removed overlapping of text

This commit contains two changes:

1. Now inital ranking is done using the earlier stored selection of user, this makes the ranking driven by earlier user behaviour and most frequently used folders will come up more frequently. For the logic we have kept it very simple for now, we use how many time this directory was selected by the user earlier.
Changes are mostly in rankDirectoriey.js but there is a small refactoring in TreeFormation.js due to async call to storage needs to be made while ranking.

2.  Most of the text in Dendogram Layout was overlapping due to the width. Now we have moved the text up and down relatively for alternate postions to avoid overlapping.
This is done by using dy parameter on the text and using name which is in the node and checking if index is even or odd.