VersionedGraph static proprties organized into sections.

- Organized static properties into sections.
- Removal of the property 'LATEST_GRAPH_VERSION_PROP_KEY' from internal properties static list
as it's not a versioned vertex property.
- A rename of the list of static props of a versioned vertex
(internalProperties->versionedVertexInternalProperties) as it's more appropriate.
Commit the allocated next version in the base graph.

When commit is finalized, then allocate and commit the next version in the base graph.
Test to sure that elements can be retrieved from graph.getVertices()/getEdges().

The test ensures that added vertices and edges are retrieved via
VersionedGraph.getVertices() and VersionedGraph.getEdges()
VersionedVertexIterable filters vertices by version.

This is done by attaching a predicate to the underline's vertex iterable that
filters vertices by a specified version.
Mark edges of a removed vertex as removed.

When a vertex is marked as removed, is edges should be marked as removed too.

This commit also contains a test for this expected behavior.
Prints the current edge version in VersionedVertexEdgePredicate log line.