don't use non-standard 'd' suffix on float literal

C does not define the 'd' suffix for floating point literals.  In fact,
'double' is the default type of literals if not modified by 'f' (float)
or 'l' (long float).

Additionally: 'float' arguments are automatically upcasted to 'double'
when passing through a varargs list, so this wouldn't be needed in any
case.

This problem was causing failures to build with clang.

https://bugzilla.gnome.org/show_bug.cgi?id=720207
owm: rework uri API key logic to use #define

Rework the logic for the URI template to use preprocessor defines
instead of a local variable.  This means that we get proper checking of
the format string and avoid the failure to compile under clang when
-Werror=format-nonliteral is used (as it is by default in our CFLAGS
from gnome-common).

https://bugzilla.gnome.org/show_bug.cgi?id=720208