rgw: reduce calls to rgw_obj.set_obj()

This commit is part of the performance work that we're doing.

default manifest iterator construction did unneeded init of rgw_obj.
Also add a smarter copy constructor to RGWObjState that does not copy
manifest if not needed.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>

we use the obj state as the value in a map, so it's being called whenever we add entries into that. I think code wise it's either having this copy constructor, or having some complicated scheme in the upper layer. I'd rather keep it simple like this.