Log C++ stack when exceeding the memory limit

Summary: We've been trying to stop native code from breaking the request memory limit,
but it's sometimes difficult to figure out what code is responsible for the
large allocations.  This diff logs the C++ stack at the moment the limit is
exceeded, which will let us find the culprits in production.

Reviewed By: @edwinsmith

Differential Revision: D1551189