Open log only once and fallback to stdout when unable to open

Make QFile static to avoid opening and closing it for every log
message which will be rather slow.

Also, if it's not possible to open the log file fallback to
stdout to avoid losing log messages.
This is useful in test mode which runs as normal user.
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.
Merge pull request #158 from plfiorini/flushlog

Flush stream when logging to standard output