GeoClue when not in X

This patch makes sure redshift does not segfault
when it fails to start GeoClue without running in X
by not assuming that an error message was provided.

Additionally it does a hack were it sets DISPLAY=:0
if DISPLAY is missing, in an attempt to give GeoClue
an X display. This would only work if X is actually
running on :0, and perhaps only (I do not know) if
the user owns that display.