Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/plus_v1.comments.html b/docs/dyn/plus_v1.comments.html
index e0e0e1b..2ec9e8c 100644
--- a/docs/dyn/plus_v1.comments.html
+++ b/docs/dyn/plus_v1.comments.html
@@ -76,17 +76,17 @@
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="#get">get(commentId)</a></code></p>
-<p class="firstline">Get a comment.</p>
+<p class="firstline">Shut down. See https://developers.google.com/+/api-shutdown for more details.</p>
 <p class="toc_element">
-  <code><a href="#list">list(activityId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">List all of the comments for an activity.</p>
+  <code><a href="#list">list(activityId, pageToken=None, maxResults=None, sortOrder=None)</a></code></p>
+<p class="firstline">Shut down. See https://developers.google.com/+/api-shutdown for more details.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="get">get(commentId)</code>
-  <pre>Get a comment.
+  <pre>Shut down. See https://developers.google.com/+/api-shutdown for more details.
 
 Args:
   commentId: string, The ID of the comment to get. (required)
@@ -97,27 +97,40 @@
     {
     "inReplyTo": [ # The activity this comment replied to.
       {
-        "url": "A String", # The url of the activity.
-        "id": "A String", # The id of the activity.
+        "url": "A String", # The URL of the activity.
+        "id": "A String", # The ID of the activity.
       },
     ],
     "kind": "plus#comment", # Identifies this resource as a comment. Value: "plus#comment".
+    "plusoners": { # People who +1'd this comment.
+      "totalItems": 42, # Total number of people who +1'd this comment.
+    },
     "object": { # The object of this comment.
-      "content": "A String", # The content of this comment.
+      "content": "A String", # The HTML-formatted content, suitable for display.
+      "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating a comment, this value must be supplied as plain text in the request.
       "objectType": "comment", # The object type of this comment. Possible values are:
           # - "comment" - A comment in reply to an activity.
     },
     "updated": "A String", # The time at which this comment was last updated. Formatted as an RFC 3339 timestamp.
     "actor": { # The person who posted this comment.
-      "url": "A String", # A link to the person resource for this actor.
-      "image": { # The image representation of this actor.
-        "url": "A String", # The URL of the actor's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
-      },
       "displayName": "A String", # The name of this actor, suitable for display.
+      "url": "A String", # A link to the Person resource for this actor.
+      "image": { # The image representation of this actor.
+        "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+      },
+      "clientSpecificActorInfo": { # Actor info specific to particular clients.
+        "youtubeActorInfo": { # Actor info specific to YouTube clients.
+          "channelId": "A String", # ID of the YouTube channel owned by the Actor.
+        },
+      },
+      "verification": { # Verification status of actor.
+        "adHocVerified": "A String", # Verification for one-time or manual processes.
+      },
       "id": "A String", # The ID of the actor.
     },
     "verb": "post", # This comment's verb, indicating what action was performed. Possible values are:
         # - "post" - Publish content to the stream.
+    "etag": "A String", # ETag of this response for caching purposes.
     "published": "A String", # The time at which this comment was initially published. Formatted as an RFC 3339 timestamp.
     "id": "A String", # The ID of this comment.
     "selfLink": "A String", # Link to this comment resource.
@@ -125,46 +138,63 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(activityId, pageToken=None, maxResults=None)</code>
-  <pre>List all of the comments for an activity.
+    <code class="details" id="list">list(activityId, pageToken=None, maxResults=None, sortOrder=None)</code>
+  <pre>Shut down. See https://developers.google.com/+/api-shutdown for more details.
 
 Args:
   activityId: string, The ID of the activity to get comments for. (required)
-  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
-  maxResults: integer, The maximum number of comments to include in the response, used for paging. For any response, the actual number returned may be less than the specified maxResults.
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of comments to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+  sortOrder: string, The order in which to sort the list of comments.
+    Allowed values
+      ascending - Sort oldest comments first.
+      descending - Sort newest comments first.
 
 Returns:
   An object of the form:
 
     {
-    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
     "kind": "plus#commentFeed", # Identifies this resource as a collection of comments. Value: "plus#commentFeed".
     "title": "A String", # The title of this collection of comments.
     "items": [ # The comments in this page of results.
       {
         "inReplyTo": [ # The activity this comment replied to.
           {
-            "url": "A String", # The url of the activity.
-            "id": "A String", # The id of the activity.
+            "url": "A String", # The URL of the activity.
+            "id": "A String", # The ID of the activity.
           },
         ],
         "kind": "plus#comment", # Identifies this resource as a comment. Value: "plus#comment".
+        "plusoners": { # People who +1'd this comment.
+          "totalItems": 42, # Total number of people who +1'd this comment.
+        },
         "object": { # The object of this comment.
-          "content": "A String", # The content of this comment.
+          "content": "A String", # The HTML-formatted content, suitable for display.
+          "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating a comment, this value must be supplied as plain text in the request.
           "objectType": "comment", # The object type of this comment. Possible values are:
               # - "comment" - A comment in reply to an activity.
         },
         "updated": "A String", # The time at which this comment was last updated. Formatted as an RFC 3339 timestamp.
         "actor": { # The person who posted this comment.
-          "url": "A String", # A link to the person resource for this actor.
-          "image": { # The image representation of this actor.
-            "url": "A String", # The URL of the actor's profile photo. To re-size the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
-          },
           "displayName": "A String", # The name of this actor, suitable for display.
+          "url": "A String", # A link to the Person resource for this actor.
+          "image": { # The image representation of this actor.
+            "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+          },
+          "clientSpecificActorInfo": { # Actor info specific to particular clients.
+            "youtubeActorInfo": { # Actor info specific to YouTube clients.
+              "channelId": "A String", # ID of the YouTube channel owned by the Actor.
+            },
+          },
+          "verification": { # Verification status of actor.
+            "adHocVerified": "A String", # Verification for one-time or manual processes.
+          },
           "id": "A String", # The ID of the actor.
         },
         "verb": "post", # This comment's verb, indicating what action was performed. Possible values are:
             # - "post" - Publish content to the stream.
+        "etag": "A String", # ETag of this response for caching purposes.
         "published": "A String", # The time at which this comment was initially published. Formatted as an RFC 3339 timestamp.
         "id": "A String", # The ID of this comment.
         "selfLink": "A String", # Link to this comment resource.
@@ -172,6 +202,7 @@
     ],
     "updated": "A String", # The time at which this collection of comments was last updated. Formatted as an RFC 3339 timestamp.
     "nextLink": "A String", # Link to the next page of activities.
+    "etag": "A String", # ETag of this response for caching purposes.
     "id": "A String", # The ID of this collection of comments.
   }</pre>
 </div>