Finish the first working implementation of the Louvain algorithm