Before this patch, the new test's CountedInvocable<int*, int*> would hard-error instead of SFINAEing and cleanly returning false.
Notice that views::counted specifically does NOT work with pipes; counted(42) is ill-formed. This is because counted's first argument is supposed to be an iterator, not a range.
Also in this PR, drive-by replace some stray std:: with _VSTD::-or-nothing, as appropriate. These will be committed in a separate commit, but I want to poke buildkite about them just to be on the safe side.
The new free function base(cpp20_input_iterator) is needed for the new counted test; it's just filling out a bit of the test_iterators.h API that was missing originally. It's on my TODO list to move the other test iterators' base(i) functions into hidden friends too; I've just been procrastinating and/or rabbit-holing. (See D111372, which got most of the way down the rabbit hole and then I went off to do other things and haven't come back yet.)
I think this can be removed now.