Update integration tests.

1. Use okhttp client transport for okhttp tests.
2. Utilize GrpcClient to construct channel according to the transport type.
3. Remove the unused middle layer abstract tests after above changes.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72732333
diff --git a/core/src/main/java/com/google/net/stubby/newtransport/okhttp/OkHttpClientTransport.java b/core/src/main/java/com/google/net/stubby/newtransport/okhttp/OkHttpClientTransport.java
index b4e9f68..6acddf8 100644
--- a/core/src/main/java/com/google/net/stubby/newtransport/okhttp/OkHttpClientTransport.java
+++ b/core/src/main/java/com/google/net/stubby/newtransport/okhttp/OkHttpClientTransport.java
@@ -40,8 +40,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
+import java.util.concurrent.Executor;
 
 import javax.annotation.concurrent.GuardedBy;
 
@@ -83,7 +82,7 @@
   private int nextStreamId;
   private final Map<Integer, OkHttpClientStream> streams =
       Collections.synchronizedMap(new HashMap<Integer, OkHttpClientStream>());
-  private final ExecutorService executor = Executors.newCachedThreadPool();
+  private final Executor executor;
   private int unacknowledgedBytesRead;
   private ClientFrameHandler clientFrameHandler;
   // The status used to finish all active streams when the transport is closed.
@@ -92,9 +91,10 @@
   @GuardedBy("lock")
   private Status goAwayStatus;
 
-  public OkHttpClientTransport(String host, int port) {
+  OkHttpClientTransport(String host, int port, Executor executor) {
     this.host = Preconditions.checkNotNull(host);
     this.port = port;
+    this.executor = Preconditions.checkNotNull(executor);
     // Client initiated streams are odd, server initiated ones are even. Server should not need to
     // use it. We start clients at 3 to avoid conflicting with HTTP negotiation.
     nextStreamId = 3;
@@ -104,12 +104,14 @@
    * Create a transport connected to a fake peer for test.
    */
   @VisibleForTesting
-  OkHttpClientTransport(FrameReader frameReader, AsyncFrameWriter frameWriter, int nextStreamId) {
+  OkHttpClientTransport(Executor executor, FrameReader frameReader, AsyncFrameWriter frameWriter,
+      int nextStreamId) {
     host = null;
     port = -1;
+    this.executor = Preconditions.checkNotNull(executor);
+    this.frameReader = Preconditions.checkNotNull(frameReader);
+    this.frameWriter = Preconditions.checkNotNull(frameWriter);
     this.nextStreamId = nextStreamId;
-    this.frameReader = frameReader;
-    this.frameWriter = frameWriter;
   }
 
   @Override
@@ -227,7 +229,6 @@
       } catch (IOException e) {
         throw new RuntimeException(e);
       }
-      executor.shutdown();
       notifyStopped();
     }
   }