Add support for experiments

This change refactors the options logic and adds support for
experiments: a new type of options which are not shown in the options
page (their usage will be similar to Chrome flags).

Experiments can be set from the
chrome-extension://{extension_id}/options/experiments.html page.

This code refactoring simplifies the options definition. Each option now
has a default value, and a context: the place where the option is set
(options, experiments, internal, deprecated).

Change-Id: I358ae07c832acae6b4536788c4dbe12a0e4730bf
diff --git a/src/_locales/es/messages.json b/src/_locales/es/messages.json
index 1ac1f11..ae9fbdd 100644
--- a/src/_locales/es/messages.json
+++ b/src/_locales/es/messages.json
@@ -127,6 +127,14 @@
     "message": "Guardado",
     "description": "Message which appears in the options page when the settings are saved"
   },
+  "options_experiments_title": {
+    "message": "Experimentos",
+    "description": "Title of the experiments page: a page where highly experimental options can be set."
+  },
+  "options_experiments_description": {
+    "message": "<i>Welchrome!</i> Aquí abajo encontrarás una lista de experimentos: funciones que están en desarrollo y que todavía no están listas del todo para lanzarse. Son altamente experimentales y podrían romperse y/o causar problemas, pero si eres valiente, por favor activa las que más te interesen, ¡y <a href='https://github.com/avm99963/infinitegforums/discussions/categories/feedback'>envia feedback</a>!",
+    "description": "Description shown in the beginning of the experiments page, below the title."
+  },
   "inject_links": {
     "message": "Enlaces",
     "description": "Heading which we use before the 'previous post' link in a user profile in TW"