lib: move `Host` to its own pair of files
lib: refactor the use of the `Command` module

Now `Command` is only a sub-module of `Target` that should be used only
for “short-running” commands.
lib: create `Ketrew_artifact` module

It contains `Volume`, `Type` (was `Artifact_type`), and the contents of
`Artifact`.
lib: move `Target` to its own ml/mli pair
lib: move `Database` to its own ml/mli pair
lib: move `Error` to `Ketrew_pervasives`
lib: put `LONG_RUNNING` in `Ketrew_long_running`
lib: create `Ketrew_nohup_setsid` ml/mli pair
lib: create `Ketrew_state` mli/ml pair
build: add build of the documentation
doc: update `README.md`