[ThreadPool] Do not return shared futures.

Authored by fhahn on Tue, Nov 23, 2:06 AM.


[ThreadPool] Do not return shared futures.

The only users of returned futures from ThreadPool is llvm-reduce after

There should be no cases where multiple threads wait on the same future,
so there should be no need to return std::shared_future<>. Instead return
plain std::future<>.

If users need to share a future between multiple threads, they can share
the futures themselves.

Reviewed By: Meinersbur, mehdi_amini

Differential Revision: https://reviews.llvm.org/D114363