Flatten threads: fix for application/json+protobuf responses

When a new message is created in a thread, the thread itself is
reloaded, but via an application/json+protobuf request (array-like data)
instead of a regular text/plain request (object-like data). Since the
code didn't work well for these types of requests, the thread didn't
fully load.

This CL fixes this issue by correctly handling application/json+protobuf
responses in the response modifiers.

An issue with the read-only interceptors has also been fixed, and tests
have been added to ensure that the array-like to object-like and
viceversa transformation functions work properly.

Bug: twpowertools:153
Change-Id: If6cd5adc67d676bf36986f325e791124fa71da51
diff --git a/package.json b/package.json
index 5e9a073..eb78dbb 100644
--- a/package.json
+++ b/package.json
@@ -25,9 +25,12 @@
     "google"
   ],
   "devDependencies": {
+    "@babel/plugin-transform-modules-commonjs": "^7.20.11",
     "copy-webpack-plugin": "^9.0.1",
     "css-loader": "^6.2.0",
     "eslint": "^8.30.0",
+    "jest": "^29.3.1",
+    "jest-environment-jsdom": "^29.3.1",
     "json5": "^2.2.0",
     "path": "^0.12.7",
     "raw-loader": "^4.0.2",