Make a shared_ptr with shared_ptr rather than unique_ptr
Make a shared_ptr with shared_ptr rather than unique_ptr

Summary: NOTE: This diff was manually written in an attempt to get rid of bad usages of `std::enable_shared_from_this` (#12761527)

Reviewed By: agoder

Differential Revision: D4525099

fbshipit-source-id: 9121e575a342b8a6c90bbc2cc00300ec46ecc3b9

facebook/bistro,facebook/bistro,facebook/bistro,facebook/bistro,facebook/bistro,facebook/bistro