CP-9441: debugging improvements

Option to make tapdisk not daemonise itself, this makes debugging with
valgrind much easier.

Also, documentation on how to debug tapdisk with Valgrind.

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>
This block change is actually not related to the purpose of the patch.
You are
1. Using an additional variable other than errno
2. Making the purpose of the ternaty operator explicit (and portable..)
3. Returning, in case of failure -err instead of -1 (nothing wrong per se but changing the return value..)
4. Writing a different error message

Aparte from point 3 (we could stick with returning -1) I see the point in fixing but not in the same commit.