Objprof Profiler (Version2: Instance Tracking)

Summary: Objprof Profiler (Version2: Instance Tracking)

The main features of this version:
* No more noise
* Sizes for objects

API:
objprof_start - strats tracking instantiation/freeing of ObjectData* using ObjectTracker::get() (thread local).
objprof_get_data - gets a snapshot of current tracked instances, total sum of bytes and count.

Actual scan of properties is using the to_array function of ObjectData (same one that is used for serialization).

PHP will periodically call "objprof_start" and at the end of the request / at some checkpoints will call "objprof_get_data".
the PHP dataset (perfpipe_objprof) will have an additional column of "State" that could have a short state description such as "outlier_mem_p99", "random" or "before_oom".

(since all tests pass and phabricator sev prevents sandcastle from building, after talking with@ptarjan I'm trying to override the unit tests and attempt arc land again)

Reviewed By: @markw65

Differential Revision: D1541503