Add bookkeeping requests to the request queue.

We'd never add requests which corresponded to
DISCONNECT_AT_START and FAIL_HANDSHAKE to the list of
received requests. This allows tests to determine whether
fallback requests were made or not.

While we're here, tidy up RecordedRequest#toString. It would
return "null" for bookkeeping requests and produce test outputs
like "expected <null> but was null".

Fixes CTS test URLConnectionTest#testSslFallback

Change-Id: I2ee1b523faf5c1b3387f5ca9f9ad19c0877e1ad5
diff --git a/src/main/java/com/google/mockwebserver/MockResponse.java b/src/main/java/com/google/mockwebserver/MockResponse.java
index 674a911..7bca741 100644
--- a/src/main/java/com/google/mockwebserver/MockResponse.java
+++ b/src/main/java/com/google/mockwebserver/MockResponse.java
@@ -235,6 +235,6 @@
     }
 
     @Override public String toString() {
-        return status;
+        return "MockResponse{" + status + "}";
     }
 }
diff --git a/src/main/java/com/google/mockwebserver/MockWebServer.java b/src/main/java/com/google/mockwebserver/MockWebServer.java
index 31bc2fc..5e3a1d7 100644
--- a/src/main/java/com/google/mockwebserver/MockWebServer.java
+++ b/src/main/java/com/google/mockwebserver/MockWebServer.java
@@ -374,7 +374,10 @@
 
     private void dispatchBookkeepingRequest(int sequenceNumber, Socket socket) throws InterruptedException {
         requestCount.incrementAndGet();
-        dispatcher.dispatch(new RecordedRequest(null, null, null, -1, null, sequenceNumber, socket));
+        RecordedRequest request = new RecordedRequest(null, null, null, -1, null, sequenceNumber,
+                socket);
+        dispatcher.dispatch(request);
+        requestQueue.add(request);
     }
 
     /**
diff --git a/src/main/java/com/google/mockwebserver/RecordedRequest.java b/src/main/java/com/google/mockwebserver/RecordedRequest.java
index 2864d80..1f8fd75 100644
--- a/src/main/java/com/google/mockwebserver/RecordedRequest.java
+++ b/src/main/java/com/google/mockwebserver/RecordedRequest.java
@@ -162,6 +162,6 @@
     }
 
     @Override public String toString() {
-        return requestLine;
+        return "RecordedRequest {" + requestLine + "}";
     }
-}
\ No newline at end of file
+}