Use std::unique_ptr for ARC4Encryptor in PeerConnection and MSEHandshake
Return nullptr directly where std::unique_ptr is expected

The constructor of std::unique_ptr which takes nullptr is not explicit
so we can return nullptr directly.
Return nullptr directly where std::shared_ptr is expected

The constructor of std::shared_ptr which takes nullptr is not explicit
so we can return nullptr directly.
Use std::unique_ptr to receive BtMessage