Upgraded cpplint from the Google Style Guide repo

This is a big change. The current cpplint.py was committed almost 1 1/2 years ago. There are several output differences between the version in this repo and the latest from the [cpplint repo](http://google-styleguide.googlecode.com/svn/trunk/cpplint/). 

This upgrade introduces the following CLI arguments:

`root=subdir`
> The root directory used for deriving header guard CPP variable.
      By default, the header guard CPP variable is calculated as the relative
      path to the directory that contains .git, .hg, or .svn.  When this flag
      is specified, the relative path is calculated from the specified
      directory. If the specified directory does not exist, this flag is
      ignored.

      Examples:
        Assuing that src/.git exists, the header guard CPP variables for
        src/chrome/browser/ui/browser.h are:

        No flag => CHROME_BROWSER_UI_BROWSER_H_
        --root=chrome => BROWSER_UI_BROWSER_H_
        --root=chrome/browser => UI_BROWSER_H_

`linelength=digits`
> This is the allowed line length for the project. The default value is
      80 characters.

      Examples:
        --linelength=120

`extensions=extension,extension,...`
> The allowed file extensions that cpplint will check

      Examples:
        --extensions=hpp,cpp