Implement support for thin mutexes

refs #7622
Replace boost::shared_ptr with boost::intrusive_ptr

refs #7622