block: remove the same_page output argument from bvec_try_merge_page
bvec_try_merge_page currently returns if the added page fragment is
within the same page as the last page in the last current bio_vec.
This information is used by __bio_iov_iter_get_pages so that we always
have a single folio pin per page even when the page is split over
multiple __bio_iov_iter_get_pages calls.
Threading this through the entire lowlevel add page to bio logic is
annoying and inefficient and leads to less code sharing than otherwise
possible. Instead add code to __bio_iov_iter_get_pages that checks
if the the bio_vecs did not change and thus a merge into the last
segment must have happened, and if there is an offset into the page
for the currently added fragment, because if yes we must have already
had a previous fragment of the same page in the last bio_vec. While
this is still a bit ugly, it keeps the logic in the one place that
needs it and allows for more code sharing.