Redirect CatServlet requests to DownloadContent

Reimplement CatServlet as a redirect to the DownloadContent
REST API method. Enable DownloadServlet to serve content from
parent commits upon request.

It isn't possible to reference a base commit as a revision ID
in a REST URL. A new parent parameter for DownloadContent
provides access to parent commits, replacing the obsolete
suffix parameter. A positive value of N will reference the
Nth parent commit for the specified revision. If the parameter
is missing or its value is zero, the patch commit is referenced.

The suffix for the download is now computed directly by the
DownloadContent method. The suffix is "_new" for a file from
a patch set, "_old" for a file from the base commit when there's
a single parent, or "oldN" for the Nth parent commit of many.

Change-Id: Ibedf07a62ddf6661f4050da21df7a3c7a8681c0c
diff --git a/Documentation/rest-api-changes.txt b/Documentation/rest-api-changes.txt
index 4b57827..cbd748c 100644
--- a/Documentation/rest-api-changes.txt
+++ b/Documentation/rest-api-changes.txt
@@ -3347,10 +3347,13 @@
 The HTTP resource Content-Type is dependent on the file type: the
 applicable type for safe files, or "application/zip" for unsafe files.
 
-The `suffix` parameter can be specified to decorate the names of the files.
-The suffix is inserted between the base filename and the random component or
-extension, or appended to the filename if neither such component is present.
-Only the lowercase Roman letters a-z are permitted; other characters are ignored.
+The optional, integer-valued `parent` parameter can be specified to request
+the named file from a parent commit of the specified revision. The value is
+the 1-based index of the parent's position in the commit object. If the
+parameter is omitted or the value non-positive, the patch set is referenced.
+
+Filenames are decorated with a suffix of `_new` for the current patch,
+`_old` for the only parent, or `_oldN` for the Nth parent of many.
 
 .Request
 ----