Add core::expected<T>::get_ptr to get the internal std::exception_ptr by value

Note that this function WILL throw an exception if the expected<T> is
valid.
Fix core::expected<T>::get_ptr not being marked const

Add equality-compare function for std::exception_ptr.
Add ptr-assign-operator test for core::expected<T>