Add more props to domain_settings

Added the following properties to `conf::domain_settings`:
* `enabled`, which indicates whether the domain must be initialized
or simply ignored
* `type`, which indicates the type of domain. For FlightVars core
domains like `fsuipc-offsets`, `simconnect-vars`, etc, there will
be a value in the `domain_type` enum. For custom domains written
by third-party, `CUSTOM` will be used.
Some refactors on conf providers

Now config loading and config providing are separated terms. There
are loaders for JSON, XML and auto, which read the config from files
and fill up the ptree. The settings loader just uses these config
loaders to fill the ptree and then load the corresponding settings from
it.
Provide encapsulation on FSUIPC client objects

The previous design of FSUIPC client objects were based upon the idea
of having getters for collaboration objects that make possible to
access their internal state. E.g., `fsuipc_client` instantiates its own
`FsuipcUserAdapter` object and provides a getter to retrieve it. This
is a violation of the encapsulation principle.

This change modifies this set of objects in order to receive the
collaborator as shared objects in their constructors. Therefore, it is
possible to pass a certain `FsuipcUserAdapter` object to `fsuipc_client`
while the adapter is kept by the creator in order to check its internal
state if desired.
Cleanup and new operation on FSUIPC update observer

The implementation of `fsuipc::update_observer` has been cleaned up
to replace the welcome messages by a map of `boost::optional` wrapped
offset values. In addition, a new operation `update_offset` has been
implemented in order to update offsets without evaluation.
First implementation of FSUIPC Offsets Domain

The first domain is here! It's the FSUIPC Offsets Domain, which
exports FSUIPC offsets to MQTT world.