lib: fix missing fields in `Configuration.log`
lib: daemonize server before any Lwt threading

This is related to the issue
[`ocsigen/lwt#82`](https://github.com/ocsigen/lwt/issues/82):
One can call `Lwt_daemon.daemonize` only before the Lwt engine starts.

-  The function `Configuration.get_configuration_non_deferred_exn`
does the same thing as `Configuration.get_configuration` but without Lwt
(and may throw exceptions).
- The daemonization is moved to the module `Ketrew_command_line`.

Before this change the calls to `Lwt_preemptive.detach` (used to access
the database and for the `Dynlink` module) were hanging.
lib: add “target-queries querying” to the server
doc: add examples of target-queries over HTTP
lib: make `Server.stop` fail nicely

Now we fail when the commad pipe is not a FIFO or does not exist.
lib: add pipe-command `reload-auth` to the server
lib: add the `/add-targets` service
lib: clean, split, and document `Ketrew_server`
lib: add the `/kill-targets` service
lib: make `State.archive_target` validate input
lib: add HTTP service `/archive-targets`
lib: refactor `Configuration` (huge commit)

In preparation for the client-server mode, this patch reorganizes the
configuration:
There are now 3 modes, Standalone (a.k.a. classic), Client, and Server.
Many parts are not implemented but this is the first version that
make everything compile.
build: build test plugins every time
lib: rename `State` → `Engine`
lib: homogenize the API of the `Engine` module
test,build: change `test-env` to “Standalone” mode
build: adapt travis build to previous changes
build: enrich `test-env` with more config files
build: fix setup & build of test plugins
lib allow configuration of “UI” for server mode