Support for user-defined customdata layers (named int, float, string layers) was limited to polygon customdata. This is not accessible in cycles because only tessfaces are used there. Furthermore the polygon attributes were simply described as MeshFloatProperty, MeshIntProperty, MeshStringProperty, omitting the distinction by element type. The patch only adds vertex attributes so far. However, the code now explicitly defines polygon and vertex attributes, so adding edges, loops and tessfaces is much easier should the need arise. Problem is that the RNA definition, which is already much more complicated than the basic DNA/BKE definition of custom properties, now becomes extremely bloated and cumbersome. A simpler solution would be preferable but may not be possible within the constraints of RNA.