* extract read_object_for_push_op() out of build_push_op().
build_push_op() is composed of multiple steps. would be better
if we can split and extract them into separated method for better
readability
* clear push_op->data_included() if fiemap fails. before this change,
a local copy of `copy_subset` is cleared if fiemap fails, but
push_op->data_included is not updated in this case. we should
clear the latter if no data is returned in push_op->data. so,
in this change, push_op->data_included is cleared if fiemap
fails. the same applies to other cases where no data is returned in
push_op
* add comments to outline the steps in read_object_for_push_op().