- Move common `AC_DEFINE()` usage to `EX_FEAT()`.
- Remove unused argument `action-if-disabled` for `EX_FEAT()`.
- Conditionally enable features by default.
Do not force 64-bit `time_t` on 32-bit platforms, since libfuse
does not do so. Linking shared objects with incompatible types
breaks ABI, resulting in undefined behavior.
Instead, add run-time checks to make sure that timestamps do not
overflow. If they do, set to `INT32_MAX`.
Also tidy up build scripts, tests, and the installation guide.
That part of code in configure.ac look stupid, remove it.
If we _do_ try to run BookmarkFS on such an exotic platform with
non-zero null pointers, the breakage should be detected by the tests
(if it can run or even build at all).
There's only a few legacy releases of gcc and clang that
support -fmacro-prefix-map but not __FILE_NAME__.
Thus the originial workaround is not very beneficial.
Switching to a more portable `__FILE__ + offset` workaround
that works for any standard-compliant compiler, even TinyCC.
However, this workaround may produce binaries that leak
information about the build environment, especially when using
an exotic build path.