crush: reset bucket->h.items[i] when removing tree item
* crush: so we don't see the reference after the removing, this keeps
check_item_loc() happy, and move_bucket() use check_item_loc() to see if
the removed bucket disappears after the removal.
* test: also add unittest_crush_wrapper::CrushWrapper.insert_item
Fixes: http://tracker.ceph.com/issues/16525
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit
a7069c7aab6b3f605f3d8f909af96f87977e8698)
Backport change: modify some codes that only works on c++ 11