Fix build with 3.12

Summary: `|>` is a builtin in ocaml 4, but you need utils for it in
3.12.

Reviewed By: @pathsny

Differential Revision: D1672196

Signature: t1:1672196:1415683487:cad26fca1479249b7d0521a40bd6b6a4db035802
Fix number_format() to deal with very large precisions/very large numbers

Summary: Max output width of number_format() was constrained to 64 characters
which isn't necessarily the case with double-precision floating point
numbers which can go out to a few hundred decimal places.

Also fixed php_math_round() implementation to use doubles all the way
through rather than single-precision float for `f1`.

Closes #4202

Reviewed By: @paulbiss

Differential Revision: D1670982

Signature: t1:1670982:1415662449:f3a3b694a43347f1e4ca8a39a18e333780a63153
Respect status codes from `Status:` header in addition to `HTTP/` header

Summary: PHP5 deals with this in the SAPI, but we only really have one,
so just handle it here.

Closes #3975

Reviewed By: @paulbiss

Differential Revision: D1671266

Signature: t1:1671266:1415669431:38dbb00bf9f40bae3eb77cd42b70710f50f3c270