DeviceServiceImpl: fix read-after-free induced by invalid reference
DeviceServiceImpl: fix read-after-free induced by invalid reference

The Zip construct accepts reference to a container, however device.values()
returns a temporary object that is destroyed after the Zip is constructed.

Discovered by valgrind:

 Invalid read of size 8
    at 0x5140E13: BeeeOn::DeviceServiceImpl::doFetchActiveWithPrefix(
	std::vector<BeeeOn::DeviceWithData,
	std::allocator<BeeeOn::DeviceWithData> >&,
	BeeeOn::Gateway const&,
	BeeeOn::Enum<BeeeOn::DevicePrefixEnum,
	BeeeOn::DevicePrefixEnum::Raw,
	BeeeOn::DevicePrefixNamesInitializer> const&) (DeviceServiceImpl.cpp:591)
    by 0x5142936: BeeeOn::DeviceServiceImpl::fetchActiveWithPrefix(
	std::vector<BeeeOn::DeviceWithData,
	std::allocator<BeeeOn::DeviceWithData> >&,
	BeeeOn::Gateway const&,
	BeeeOn::Enum<BeeeOn::DevicePrefixEnum,
	BeeeOn::DevicePrefixEnum::Raw,
	BeeeOn::DevicePrefixNamesInitializer> const&)::{
	lambda()#1}::operator()() const (DeviceServiceImpl.h:157)
    ...

Fixes: 731662dd39eb ("DeviceServiceImpl: convert values of unknown type for gateway")
Signed-off-by: Jan Viktorin <3eab6ac54c005c4408f608556a6663b7f2abede7@fit.vutbr.cz>

BeeeOn/server,BeeeOn/server,BeeeOn/server,BeeeOn/server