Fix use-after-free in the access logs

Summary: If a request put an apc string into the ServerNote
array, and then outlived all its peers, and the string was
replaced during the request, then the string could be freed
by the treadmill at the end of the request. We used to free
up the treadmill items prior to writing the access logs,
which could then fail.

Reviewed By: @ottoni

Differential Revision: D1674896
Add per kind ArrayFunc counters for ArrayTracer

Summary: Adds an array of std::atomic<uint64_t> to keep count of ArrayFunc per ArrayKind

Reviewed By: @edwinsmith

Differential Revision: D1623929