Merge pull request #152 from plfiorini/log

Open log only once and fallback to stdout when unable to open
Support logging to journald if enabled

Add support to journald logging that provides us much more information
such as code line and function, process command line, etc...
Logging works just like before when running interactively.

Since the DAEMON or GREETER prefix are not useful when logging to journald
and there was not even consistency between them, we now have two message
handlers respectively for daemon and greeter.

Those message handlers prepend the correct prefix to the message when
logging to file or stdout.  As a result all log messages don't need to
provide those prefixes anymore.
Merge pull request #157 from plfiorini/journald

Support logging to journald if enabled
Flush stream when logging to standard output

Print everything in the stdout buffer immediately.