Let upstream tools cover native (.c, .cpp) files derived from OpenJDK.

Previously, the upstream tools (CompareUpstreams and CopyUpstreamFiles)
supported (via Repository.loadRelPathsFromMakefile()) only .java files
in ojluni. This CL adds support for .c and .cpp files (but not.h).
The tools now process the .java files followed by the native files,
each list of files sorted amongst themselves but not globally sorted.

From now on, the ojluni repository has two different sourceDirs, namely
ojluni/src/main/{java,native} relative to which the "relPath"
identifying a particular file is taken. The "relPath" does not contain
the "java/" or "native/" prefix - files from these two locations live
in the same namespace. If a path exists in both sourceDirs then only
the first is found.

The upstream-diff tool (in Python) was slightly enhanced to guess the
correct source directory for a file based on its extension, and to
distinguish fully qualified java class names from native source files.

I intend to update the tracking spreadsheets and reference snapshots
of upstream revisions accordingly once this CL has completed initial
review.

Bug: 77572714
Test: Treehugger
Test: The output from the following appears sane, at first glance:
      make libcore-compare-upstreams \
      && java -jar out/host/linux-x86/framework/libcore-compare-upstreams.jar
Test: make libcore-copy-upstream-files && java -jar \
      out/host/linux-x86/framework/libcore-copy-upstream-files.jar ~/upstreams-new
Test: ${ANDROID_BUILD_TOP}/libcore/tools/upstream/upstream-diff zip_util.c

Change-Id: I1686b1bf4d467e50db0c428b5ec51870bdab8691
7 files changed