rgw: RGWEnv::set() takes std::string
the beast frontend will either pass a string_ref or a string_view,
depending on the boost version. we can't overload RGWEnv::set() for
both, because a call to env.set("literal") would be ambiguous
both string_ref and string_view have a to_string() member function, so
RGWEnv::set() now takes a std::string by value and moves it into the
map. this involes a single string copy, whether we pass a temporary
std::string (in beast) or a const char* (in civetweb)
Fixes: http://tracker.ceph.com/issues/22101
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
6fbd3f358a17debea8c04f976946d5f245576f31)