Add new tools/upstream/upstream-diff script.

This is a more flexible version of the 'meld' command that
was previously in the .tsv produced by libcore-compare-upstreams
The code that produces that .tsv has been changed to call the
new script.

The new script ads the following features:

 1.) Compare multiple files against upstream in a single command
     (this will launch multiple 'meld' processes in sequence):
     ./upstream-diff java/util/ArrayList.java java/util/LinkedList
 2.) Specify files to compare via their fully qualified name
     rather than the relative path of the .java file:
     ./upstream-diff java.util.ArrayList
 3.) Use a diff/merge tool other than meld:
     ./upstream-diff -d kdiff3 java.util.ArrayList
     ./upstream-diff -d diff java.util.ArrayList
 4.) Customize repositories to diff against, eg. three-way merge
     for integrating upstream changes:
     ./upstream-diff -r 7u40,ojluni,8u121-b13 java.util.ArrayList

Test: libcore/tools/upstream/upstream-diff java.nio.ByteBuffer
Test: make libcore-compare-upstreams && java -jar \
      ${ANDROID_HOST_OUT}/framework/libcore-compare-upstreams.jar \
      > ~/compare-upstreams.tsv

Change-Id: I5bc2354049f0a9a087dce588a441b09ea531bc3a
2 files changed