ceph_mon: split postfork() in two and finish postfork just before daemonize

We split global_init_postfork() in two: start and finish, with the first
keeping much of postfork()'s tasks except closing stderr, which we leave
open until just before we daemonize.  This allows the user to see any
error messages that the monitor may spit out before it daemonizes, making
sense of the error code (which we were already returning).

Fixes: 7489

Also have output going to dout/derr after we fork, instead of a mix of dout/derr
and cout/cerr.
And take this chance to add an error message in case we are unable to bind --
instead of relying on the messenger to do it.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>