Changing the node types
A) Change node type definition
The bad thing is that every node extends mgnl:content. But we need the mix:versionable only only on website pages and not on users, configuration, ...
B) Add mixins dynamically
Index: /Users/philipp/checkout/magnolia/magnolia-core/src/main/java/info/magnolia/cms/core/DefaultContent.java
===================================================================
--- /Users/philipp/checkout/magnolia/magnolia-core/src/main/java/info/magnolia/cms/core/DefaultContent.java (revision 14777)
+++ /Users/philipp/checkout/magnolia/magnolia-core/src/main/java/info/magnolia/cms/core/DefaultContent.java (working copy)
@@ -168,7 +168,12 @@
this.setRootNode(rootNode);
this.node = this.rootNode.addNode(this.path, contentType);
this.setAccessManager(manager);
- this.addMixin(ItemType.MIX_VERSIONABLE);
+ if(this.getItemType().equals(ItemType.CONTENT)){
+ this.addMixin(ItemType.MIX_VERSIONABLE);
+ }
+ else{
+ this.addMixin(ItemType.MIX_REFERENCEABLE);
+ }
C) Add mixin when we create the first version 
I add the mixin only in the mgnlVersion workspace. This is currently the only place we use it
Bootstrapfiles
We have to clean up the bootstrap files. Depending on solution A or B we have to clean the files differently:
A) remove all version related properties
B) keep mix:versionable for contentNode
C) remove all version related properties 
Possible approaches
- import, call update tasks, export
- xml based cleanup code / script

Update
For that we must write some test