* consolidate the logic handling CEPH_PICK_ADDRESS_PREFER_IPV4 using
std::sort(). this might be overkill. but it helps to explain
what CEPH_PICK_ADDRESS_PREFER_IPV4 is for, and helps to dedup
the code to order the addresses.
* let fill_in_one_address() return an optional<entity_addrvec_t>.
more readable this way
* early return if the required address is not found, instead of
checking variables like ipv4_r
* rename fill_in_one_address() to get_one_address() to reflect
the change of the function's return value's type