C++ named requirements: BinaryPredicate

BinaryPredicate is a set of requirements expected by some of the standard library facilities from the user-provided arguments.

# Defect reports

DRApplied toBehavior as publishedCorrect behavior
LWG 2114(P2167R3)C++98convertibility of return types to bool was too weakto reflect the expectation of implementationsrequirements strengthened
LWG 3031C++98requirements on const values were insufficentrequirements strengthened