Fix bug when multiple messages arrive in single read buffer

Previously, only the first message would be processed, and subsequent
messages would be held until another message was received.

The bug is fixed by searching backwards in the read buffer for a newline,
instead of forward.
Make some variables const, for safety
Simplify logic by calling flush() from fewer places
Send all queued messages upon receipt of SIGUSR1
Make sig_atomic_t variables volatile

Since technically they should be.
Simplify code by removing redundant conditions
Be (mostly) resilient to system clock moving backward

It's still possible for an adversarial sequence of clock changes to
cause message delivery to be indefinitely delayed, but at least the
common case of a single major clock adjustment can no longer cause a
lengthy delivery delay.
Use a monotonic clock if one is available

This will make logmailer totally resilient to system clock changes.
Add NEWS file, with version 0.3 changes