Renamed some defines to match their meaning

fixes #228
Abstraction for host devices added

hexabus::Device is an abstraction to simplify the creation of daemons that
behave like a hexabus device.
[hexadaemon] Rewrite of hexadaemon to use the new hexabus::Device

This is also a reference implementation for a daemon that uses the new hexabus::Device class
use ALL the const&
added std::string as valid template parameter for endpoints
renamed EndpointDescriptor to EndpointFunctions to prevent namespace clash and added function to get TypedEndpointFunctions from EndpointDescriptors
[libhexabus] get rid of these nasty includes with relative paths in header files
[libhexabus] fix datatype in endpoint information
[libhexabus] fixed and renamed ValuePacket<std::string>::length
[hexadaemon] enable building and running without uci
[hexadaemon][libhexabus] allow a device to have multiple ip addresses
[hexinfo] hexabus datatypes are now located withing the hexabus namespace
[libhexabus] let cmake set the path prefix for the endpoint_registry
[hexadaemon][libhexabus] support listening on multiple interfaces too
Merge branch 'sp-dev' into development

Conflicts:
	hostsoftware/hexadaemon/src/hexabus_server.cpp
	hostsoftware/hexadaemon/src/hexadaemon.cpp