The first position at which target is ordered BEFORE the element there -- i.e. one
past the last element equal to the target.
Same arguments, same sortedness rule and same 1 .. size(values)+1 range as
pf_lower_bound; pf_upper_bound - pf_lower_bound is how many elements equal the
target.