Moves the variant mapping to the content model mapper, updates IContent to expose the variants (lazily), adds new attributes to be stored in the xml cache