[ADT] Use `adl_being`/`end` in `map_range` (#130508)
This is to make sure that ADT helpers consistently use argument
dependent lookup when dealing with input ranges.
This was a part of #87936 but reverted due to buildbot failures.
Also add `map_range` unit tests -- there were no pre-existing tests
AFAICT.