crush: fix incorrect use of adjust_item_weight method

adjust_item_weight method will adjust all buckets which the item
inside. If the osd.0 in host=fake01 and host=fake02, we execute
"ceph osd crush osd.0 10 host=fake01", it not only will adjust fake01's
weight, but also will adjust fake02's weight.

the patch add adjust_item_weightf_in_loc method and fix remove_item,
_remove_item_under, update_item, insert_item, detach_bucket methods.

Signed-off-by: Rongze Zhu <zrzhit@gmail.com>
sorry i didn't notice this before, but if we have the b pointer already, shouldn't we do

  crush_bucket_adjust_item_weight(b, item, weight);
  adjust_item_weight(cct, b->id, b->weight);

and avoid repeating all the loc logic?