murphy-db: maintain stamp across transactions without changes.

Transaction track the state of tables by storing as a fingerprint
the number of inserts, deletes and updates in a transaction start
log entry. If at the end of the transaction the fingerprint is
identical the table stamp is restored.

Additionally, row and column update has been modified to omit the
creation of log entries for updates that would produce an identical
row. Since the insert/delete/update fingerprint is updated when
a log entry is created (and replayed during a rollback), this will
keep the stamp intact if a transaction contains only identical
updates.
resolver: added console dump command.
resolver: update targets based on direct dependencies.

Don't run unconditionally the actions of a target if any
of the facts in the transitive closure of the dependencies
have changed. Instead always check the immediate dependencies
and run the actions only if some of those have changed.
lua-decision: throw Lua exception for fatal ruleset errors.

Throw Lua exception to bail out for ruleset generation errors.
Also use mrp_log_error to log errors instead of printf.
lua-decision: use direct dependency on the table for select.

Instead of generating an intermediate target that depends
on the table and have the select rule depend on this one,
omit the intermediate target altogether and let the select
depend on the table itself.
lua-decision: removed now unused 'dependency' Lua object.
daemon: valgrind re-exec support, source tree detection

The daemon can now re-exec itself through valgrind, preserving its
command line and the environment if so requested.

Also the daemon tries to detect if it is run directly from the
source tree. If it is, the runtime defaults are modified to
load the configuration file and plugins from the same source
tree and to run with increased verbosity. If necessary these
can be overridden on the command line.