Move core::polymorphic<T> to memory component, and rename to poly_ptr

Move polymorphic test to memory test. Add tests for core::make_unique<T>
to be filled out.

Still on the TODO is to move the polymorphic<T> documentation into the
memory component's documentation.