Add support for registering and using an externally supplied Profiler,

Summary: as for example from a 3rd party DSO.

While I'm at it, plumb in instantiation of the pre-existing experimental
MemoProfiler.

This PR replaces https://github.com/facebook/hhvm/pull/3082. This PR
is simpler than that proposed before, since the old work is supplanted
in large part by recent work for debugger hooks.  There were too many
git branch conflicts to warrant preserving the commentary of 3082,
most of which is no longer relevant.
Closes https://github.com/facebook/hhvm/pull/3533

Reviewed By: @ptarjan

Differential Revision: D1508210