Expose RTCConfiguration to java JNI and add an option to disable TCP

BUG=4585, 4589
R=glaznev@webrtc.org, juberti@google.com, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49809004

Cr-Commit-Position: refs/heads/master@{#9125}
diff --git a/talk/app/webrtc/peerconnectioninterface.h b/talk/app/webrtc/peerconnectioninterface.h
index 6f6eb24..ed4f5b3 100644
--- a/talk/app/webrtc/peerconnectioninterface.h
+++ b/talk/app/webrtc/peerconnectioninterface.h
@@ -197,6 +197,11 @@
     kBundlePolicyMaxCompat
   };
 
+  enum TcpCandidatePolicy {
+    kTcpCandidatePolicyEnabled,
+    kTcpCandidatePolicyDisabled
+  };
+
   struct RTCConfiguration {
     // TODO(pthatcher): Rename this ice_transport_type, but update
     // Chromium at the same time.
@@ -205,8 +210,12 @@
     // at the same time.
     IceServers servers;
     BundlePolicy bundle_policy;
+    TcpCandidatePolicy tcp_candidate_policy;
 
-    RTCConfiguration() : type(kAll), bundle_policy(kBundlePolicyBalanced) {}
+    RTCConfiguration()
+        : type(kAll),
+          bundle_policy(kBundlePolicyBalanced),
+          tcp_candidate_policy(kTcpCandidatePolicyEnabled) {}
   };
 
   struct RTCOfferAnswerOptions {