rbd: workaround for llvm linker proplem, avoid std:pair dtor
When linking with llvm linker on FreeBSD:
```
/usr/bin/ld.lld: error: undefined symbol: std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool>::~pair()
>>> referenced by Image.cc:349 (/home/jenkins/workspace/ceph-master/src/librbd/api/Image.cc:349)
>>> Image.cc.o:(librbd::api::Image<librbd::ImageCtx>::list_children(librbd::ImageCtx*, cls::rbd::ParentImageSpec const&, std::__1::vector<librbd::linked_image_spec_t, std::__1::allocator<librbd::linked_image_spec_t> >*)) in archive ../../../lib/librbd_internal.a
```
Which is probably because the compiler calls a dtor on the just created pair.
But the FreeBSD linker does not find a dtor in the any of the libraries.
This rewrite build and links without the linker error.
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>