cleanup, and initial support for snap community detection

This wraps up my snap refactoring that exposes running a snap community detection algorithm that annotates each node with which community they are in.