phlcon_differential: put inlines, get diff files

Support adding inline comments to differential reviews and getting
files from the diffs attached to differential reviews.

Test Plan:
$ ./precommit.sh
also exercised in subsequent commits
py/aon/aoncmd_getdiff.py: support getting files

Add support for downloading files from diffs to 'arcyon getdiff'.

Test Plan:
$ ./precommit.sh
exercise on the command-line
examples/arcyon/phlint.sh: fetch and lint reviews

Shell script to expose errors in files attached to differential reviews
that would have been caught with configured linters.

Try with cppcheck, jshint and pyflakes.

Test Plan: phlint-ed a big instance with many reviews
phlsys_subprocess: don't write to stderr on error

Give clients more control over the output of their programs by leaving
the choice of whether to output subprocess errors to stderr to them.

The equivalent string is already raised in the exception in case clients
want to echo it out.

Test Plan:
$ ./precommit.sh
phlsys_cppcheck: add simple 'cppcheck' wrapper

We'll want to add support for the ace linter 'cppcheck' soon, make a
wrapper for interacting with it.

Test Plan:
$ ./precommit.sh (dead code fail waived)
proto/linterate: an automated lint excitor

Download files from differential reviews and apply robust linters to
those files.  Where almost certain errors are detected, make inline
comments on those reviews.

This is emphatically not a stand-in for CI, more a utility for getting
developers excited about CI and showing what's possible with some of the
fantastic linters out there.

This improves on 'phlint' by adding configuration options and a memory
of what it's already covered.  'linterate' only supports cppcheck for
now, 'pyflakes' and 'jshint' to follow as they become battle-tested.

Test Plan:
$ ./precommit.sh
linterated a large instance.