WIP config and client rewrite
Merge remote-tracking branch 'origin/development' into development

Conflicts:
	libs/pilight/common.c
	libs/pilight/hardware.c
	libs/pilight/settings.c
	libs/protocols/alecto_wx500.c
	libs/protocols/arctech_screen.c
	libs/protocols/beamish_switch.c
	libs/protocols/lm75.c
	libs/protocols/lm76.c
Merge branch 'development' of https://github.com/pilight/pilight into development

Conflicts:
	libs/protocols/ehome.c
	libs/protocols/ninjablocks_weather.c
	libs/protocols/quigg_switch.c
Merge branch 'development' of https://github.com/pilight/pilight into development
Intermediate commit of new code
Merge branch 'development' of https://github.com/pilight/pilight into development
Merge branch 'development' of https://github.com/pilight/pilight into development

Conflicts:
	libs/pilight/webserver.c
	libs/protocols/arctech_switch_old.c
	libs/protocols/relay.c
	libs/protocols/x10.c
Merge branch 'development' of https://github.com/pilight/pilight into development

Conflicts:
	libs/protocols/relay.c
This commit integrates the new configuration and API

With the new configuration structure, pilight drops the need
for having all kinds of separate configuration files. All
of these different configuration entities are now stored in
one big configuration file.

The new configuration also splits the old config structure
into a new devices and gui structure. This means that you
can define devices that aren't visible in the GUI but that
you can just use in the future eventing. The new GUI
allows users to have different devices visible in different
GUIs.

The new pilight API is a lot more versatile then the old one.
pilight now drops the whole client type structure, but instead
will handle all clients the same. The clients on their hand
can define what level of communication they want with the main
daemon. All clients can now also do all actions when necessary.

All information about these new structures can be found on the
temporary pilight nightly page: http://www.pilight.org/nightly/

While implementing these new structures, a lot of tiny bugs where
fixed and improvements were made. The most important ones:
- the socket library was improved so it uses less memory calls.
- The json library now explicitly parses decimals. This means
that all device values are now stored in their appropriate decimal
format, so developers don't have to recalculate the decimals
afterwards.

The protocol rpi_temp has been renamed to cpu_temp because it
also works for reading the Hummingboard temperature.

Also notice that the update checker has been temporarily removed
and pilight-learn has been removed indefinitly.