Uncovering Hierarchical and Overlapping Communities with a Local-First Approach