Lint rules for the Gluster project

Summary:
Built lint rules for the Gluster project. The way this works is actually using the ArcanistCpplintLinter ().
         This class uses google's cpplint.py program from http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py.
         This doesn't work perfectly for us, but it has many things that are applicable to this project. I modified the linter
         to include .c files (google's version only allows cpp, h, and cc files) as well as changed some of the rules to fit
         the Gluster coding standard. We should eventually strip out things from this that we don't need but for now this does
         a pretty good job of linting the code and avoides having reviewers focus their review on coding style rather than more
         important things. @new-branch: feat_t2525841

Test Plan: Did some tests on the existing code

Reviewers: rwareing, cjh

Reviewed By: cjh

CC: ethanr, jackl, cjh

Differential Revision: https://phabricator.fb.com/D876478

Task ID: 2544298

@new-branch: feat_t2525841
Netgroup parsing with tests

Summary: Parses linux style netgroups file into a structure

Test Plan: Use prove tests in gluster directory

Reviewers: rwareing, meyering, hal

Reviewed By: meyering

CC: cjh, ethanr

Differential Revision: https://phabricator.fb.com/D848008

Task ID: 2597630