[pstl] Introduce forward declarations

Authored by ldionne on Mar 28 2019, 10:22 AM.


[pstl] Introduce forward declarations

Necessary when pstl is included from with <algorithm> and <numeric> to
prevent a partially declared standard library when pstl itself uses
algorithms from <algorithm> and <numeric>.

Also, this patch makes sure that configuration comes via standard headers.
Directly including pstl_config.h in implementation files is incompatible
with inclusion of pstl into a standard library implementation which
provides it's own library wide configuration and may configure the
library differently to the pstl_config.h used by the standalone

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

llvm-svn: 357189