communities.py rewritten and now has a dict as a second
data structure to hold the communities. This makes moving nodes
a bit slower but, getting comunities much faster.
Some fixups