Add a plugin.put() method

Because it exists in GWT implementation of Gerrit JS API

Change-Id: I7fa2501c88de9ce80402595bcff5112c70e07c99
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface_test.html b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface_test.html
index f88371a..03cc0f8 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface_test.html
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface_test.html
@@ -120,6 +120,16 @@
       });
     });
 
+    test('put', () => {
+      const payload = {foo: 'foo'};
+      const response = {bar: 'bar'};
+      getResponseObjectStub.returns(Promise.resolve(response));
+      return plugin.put('/url', payload, r => {
+        assert.isTrue(sendStub.calledWith('PUT', '/url', payload));
+        assert.strictEqual(r, response);
+      });
+    });
+
     test('delete works', () => {
       const response = {status: 204};
       sendStub.returns(Promise.resolve(response));
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-public-js-api.js b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-public-js-api.js
index 8f78dd3..da5b8f3 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-public-js-api.js
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-public-js-api.js
@@ -157,6 +157,10 @@
     return this._send('POST', url, opt_callback, payload);
   },
 
+  Plugin.prototype.put = function(url, payload, opt_callback) {
+    return this._send('PUT', url, opt_callback, payload);
+  },
+
   Plugin.prototype.delete = function(url, opt_callback) {
     return getRestAPI().send('DELETE', url).then(response => {
       if (response.status !== 204) {