Make github integration configurable

:convenience_store: 

I made GH integration its own feature, and GH related things now depend on it.  I also made all of the CLA related features depend on it as well, since we're using GH for CLA signing, and if you don't have GH enabled, then none of the CLA stuff will work.  I _think_ this is the correct approach, but please say something if this seems off.  /cc @smith @brettchalupa 

Closes https://github.com/opscode/supermarket/issues/853
Would it be okay to just `return` instead of returning a value? I ask because I do not think that this method aims to return anything of importance.