[network] Add a JSon input archive

The implementation use boost::property_tree to parse the json stuff +
some workaround to deal with non-supported case.
Add some unit-test for case we are interesed by.
[network] Rework 62c26f4ae workaround

No need to add an overload for boost::optional<bool>. Just pass properly
by json_oarchive::operator<< instead of passing by load (which does not
support correctly bool).