TS-2168 Clean up the verbose comments

There's not much purpose to repeat the same thing 4 times :). This
also fixes a potential problem with debug_filter, since it currently
has two bit fields in use, we should allow for values 0-3, right?

There's still a huge problem with this code as it is now, because
it would make it impossible to implement features that does
consistency checks on records.config (see TS-1882).
TS-350 Add documentation for the new RAM cache options
TS-350 Try to fix the formatting
Doc: Fixup config var reference issues.
TS-361 Document human readable number multiplies for configuration values
TS-361 Explain K, M, G and T
TS-498 Document dedicate DNS thread configuration
Introduce build-time option to select libxml2 in place of expat
as build-time parser.
Make libxml2 the configuration default XML parser
(so it should get a bit of test-driving).

Separate micro-commit so it's an easy distinction we can confine
to trunk even if the new code makes it into a release as an option
before it's well-tested.
Docs: Fix formatting for KMGT-bytes
ci: always build out of tree
ci: fix configure path for out of tree builds
fixed checking for xml parser
one last fix hopefully for finding the xml parser, changed from an error
message to a warning when it can't find xml2
TS-2168: set 'enable_reclaim' to 1 as default in records.config

Signed-off-by: Yunkai Zhang <qiushu.zyk@taobao.com>
TS-2187: use nonblock eventfd in EventNotify

1) Use nonblock eventfd, so that we can tolerate write() failed with
   errno EAGANIN – which is acceptable as the signal receiver will be
   notified eventually in this case.

2) After using nonblock eventfd, read() will not block in wait(). So
   I use epoll_wait() to implement block behavior, just like timedwait().

3) nonblock eventfd can fix a potential problem: if receiver didn't
   read() data immediately, senders might block in write().

Signed-off-by: Yunkai Zhang <qiushu.zyk@taobao.com>