config: add convenience macros to fetch config values

Ref #44
config: rename widget JSON config pointer to json_config
config: add macros for overriding default config values
widgets/external_ip: implement config with default values
widgets: implement new config system for remaining widgets

Ref #44
config: remove config overrides from config.json
widgets: add datetime widget
widgets: name static widget_*_send_update functions consistently
widgets/weather: remove null values from query string if location is set
widgets: use snprintf instead of sprintf
widgets/battery: use snprintf for dbus path and update widget cleanup
Merge branch 'feature/improved-json-config' into develop

Closes #44