Fixes a problem w/ content types in copy content

When a content is copied the content type is not applied to the new
content. This commit makes sure the content and all its ancestors have a
content type. If the content does not have a content type the type from
the original is applied, otherwise the current type is kept.