Refactoring Features to allow graph, vertex and edge features to have their own PropertyFeatures definitions.

In this way, a Vertex could support multi-property while Edge and Graph might not.