[lldb] Add deref support and tests to shared_ptr synthetic
Add frame variable dereference suppport to libc++ std::shared_ptr.
This change allows for commands like v *thing_sp and v thing_sp->m_id. These
commands now work the same way they do with raw pointers. This is done by adding an
unaccounted for child member named $$dereference$$.
Also, add API tests for std::shared_ptr, previously there were none.
Differential Revision: https://reviews.llvm.org/D97165