cpp/experimental/ranges/algorithm/lexicographical compare

@1@ Checks if the first range is lexicographically less than the second range. Elements are compared using the given binary comparison function, after being projected with and  respectively.

@2@ Same as, but uses as the first source range and  as the second source range, as if using  as ,  as ,  as , and  as.

Lexicographical comparison is an operation with the following properties:
 * Two ranges are compared element by element.
 * The first mismatching element defines which range is lexicographically less or greater than the other.
 * If one range is a prefix of another, the shorter range is lexicographically less than the other.
 * If two ranges have equivalent elements and are of the same length, then the ranges are lexicographically equal.
 * An empty range is lexicographically less than any non-empty range.
 * Two empty ranges are lexicographically equal.

Return value
if the first range is lexicographically less than the second.

Complexity
At most $2&middot;min(N1, N2)$ applications of the comparison operation, where and.