Since our shared_ptr works with incomplete types now, switch to it.
I tried our lw_shared_ptr, the compiler complained endless usage of incomplete type stream_session. I can not include stream_session.hh everywhere due to circular dependency. For now, I'm using std::shared_ptr which works fine.