MINOR: activity: add configuration and CLI support for "profiling.tasks"

This is a new global setting which enables or disables CPU profiling
per task. For now it only sets/resets the variable based on the global
option "profiling.tasks" and supports showing it as well as setting it
from the CLI using "show profiling" and "set profiling". The option will
be used by a future commit. It was done in a way which should ease future
addition of profiling options.
diff --git a/doc/configuration.txt b/doc/configuration.txt
index 7552352..180bfc8 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -619,6 +619,7 @@
    - nosplice
    - nogetaddrinfo
    - noreuseport
+   - profiling.tasks
    - spread-checks
    - server-state-base
    - server-state-file
@@ -1434,6 +1435,16 @@
   Disables the use of SO_REUSEPORT - see socket(7). It is equivalent to the
   command line argument "-dR".
 
+profiling.tasks { on | off }
+  Enables ('on') or disables ('off') per-task CPU profiling. CPU profiling per
+  task can be very convenient to report where the time is spent and which
+  requests have what effect on which other request. It is not enabled by
+  default as it may consume a little bit extra CPU. This requires a system
+  supporting the clock_gettime(2) syscall with clock identifiers
+  CLOCK_MONOTONIC and CLOCK_THREAD_CPUTIME_ID, otherwise the reported time will
+  be zero. This option may be changed at run time using "set profiling" on the
+  CLI.
+
 spread-checks <0..50, in percent>
   Sometimes it is desirable to avoid sending agent and health checks to
   servers at exact intervals, for instance when many logical servers are