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
Fix duplicate unbound name errors

Summary: When naming a hint, we'd call `Env.class_name` on it twice
here, causing it to get looked up and canonicalized more than once --
and thus insert an error more than once if it was wrong, such as the
case in the github issue linked below. This is hard to test for --
`hh_server --check` will unique-ify errors, and `hh_single` will only
take the first one. Fixing the latter is beyond what I want to deal with
right now, so this manually tested fix it is.

Fixes https://github.com/facebook/hhvm/issues/3294

Reviewed By: @int3, @elgenie

Differential Revision: D1677992

Signature: t1:1677992:1415857065:675182d27592e614b5ee8864648b3367a2ef01e3
Remove main_js_comp.ml and main_hhbc_comp.ml.

Summary: Verified with@pikatchu@joelbeales and@jdelong that those files
were no longer necessary. The question arose because those files invoke
Pos.make, whose call signature I recently changed.

Reviewed By: @jdelong

Differential Revision: D1678179

Signature: t1:1678179:1415894809:ae35c4c1f6c2bc196096379e905d2faead5bb503