Fix several issues with deep_ptr

Fill out many tests for deep_ptr