Girvan-Newman algorithm for community structure discovery

Implementation of the Girvan-Newman algorithm for community structure discovery:
- Girvan, Michelle, and Mark EJ Newman. "Community structure in social and biological networks." Proceedings of the National Academy of Sciences 99.12 (2002): 7821-7826.
- Newman, Mark EJ, and Michelle Girvan. "Finding and evaluating community structure in networks." Physical review E 69.2 (2004): 026113.
- http://en.wikipedia.org/wiki/Girvan%E2%80%93Newman_algorithm

Complies with the structure proposed in #951 (using yield and returning sets instead of lists/frozensets)

Sorting is an overkill. Use ``min`` instead.