Fix compiler error with specialization of std::hash<polymorphic<T>>
Add initial layout of deep_ptr<T>, a unique_ptr with deep copy semantics