Use system default std::unique_ptr

And remove core::unique_ptr.
Use C++11 static_assert directly

And remove IV_STATIC_ASSERT