Label propagation

Added the label-propagation community detection as explained in #617 using Tyler Rush's code. Modified it to comply with the structure proposed in #951 (using yield and returning sets instead of lists or frozensets). Some minor fixes (now python supports using max() with sets) and style changes.