gen_config: allow options to be overridden by environment

From caa2cd968be140ed3e91eeb0d30e0c006b55e17a Mon Sep 17 00:00:00 2001
From: Daniel Hermann <daniel.hermann@1und1.de>
Date: Thu, 11 Jul 2013 11:45:16 +0200
Subject: [PATCH] gen_config: allow options to be overridden by environment
infra: fix limiter underflow

Credits to Daniel Hermann for revealing this bug.
copy: use kb as limiter units
trans_logger: use kb as replay limiter units
marsadm: fix 'invalidate' racing against replay
light: improve info message
marsadm: command secondary must not change primary link if executed on a secondary

Fixes the bug, that marsadm secondary sets the link <resource_dir>/primary
to (none) even if executed on a secondary host.
infra: lamport clock can never appear as stopped

In case CONFIG_HIGH_RES_TIMERS is not set (or when it does not work
as expected), the lamport clock could "stop" in some extremely
rare cases. Theoretically, a symlink update could be missed, or
two transaction log records could accidentally get the same
timestamp. We want any timestamps to be unique (at least on
the same host).

This patch ensures that true forward stepping always takes place,
even when the system clock fails (or at other problems).

For now, the dependency from CONFIG_HIGH_RES_TIMERS is left in Kconfig
as a precondition for MARS.

After some tests and some observational time, it could probably be removed
some day.
all: add lamport clock to all messages
copy: make io_prio configurable via /proc
marsadm: 'create-resource' --force no longer checks for exclusive access
copy: limit IO parallelism via /proc