handle non-constant SIGSTKSZ
handle non-constant SIGSTKSZ

Summary:
On glibc > 2.33 (e.g. on Fedora rawhide/35), `SIGSTKSZ` is no longer constant:
http://sourceware-org.1504.n7.nabble.com/PATCH-sysconf-Add-SC-MINSIGSTKSZ-SC-SIGSTKSZ-BZ-20305-td650948.html

Assume it's non-constant, and so:
- use `std::max` rather than `folly::constexpr_max` to compute the stack size
- cast both arguments to `size_t` since in the non-constant case we get a `long int` back
- use `std::unique_ptr<char[]>` and compute the size at the time of use rather than make it class-wide

Reviewed By: yfeldblum

Differential Revision: D27143320

fbshipit-source-id: 7dcdd7cf3d5e96db605266504f443cf2b48ba18c

facebook/folly,facebook/folly,facebook/folly,facebook/folly,facebook/folly