C++ linter

Add Google's C++ linter (scripts/cpplint.py) with "lint" target in Makefile (run "make lint" to run the linter on all C source/header files) and fix all of its errors for the current codebase.  The linter statically checks C++ code against some of the C++ style conventions Caffe follows, heavily inspired by [Google's C++ style guide](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml).

If this PR is accepted, all future Caffe contributions should be required to run "make lint" with an output of "Total errors found: 0" before merging (returns status code 0 in this case).  In some cases this may involve explicit suppression of certain false positive linter errors (or when there's just a good enough reason to break convention) using NOLINT and NOLINT_NEXTLINE (the latter of which I added to the cpplint.py script due to the same line NOLINT almost always making the line run over 80 characters).