Pack compare and projection in indirect_compare.
Pack compare and projection in indirect_compare.

Most of the time, compare and/or projection will be empty classes eligible
for empty base class optimization, so we pack them into an std::tuple
which is often enhanced to perform EBCO when possible.

Morwenn/cpp-sort,Morwenn/cpp-sort,Morwenn/cpp-sort,Morwenn/cpp-sort