GraphEngine has types for insertion data

The motivation: we can't ask the user to create EngineVertex/Edge
instances; we want the GraphEngine to be the only one capable of doing
this. Case in point: if an engine wants to generate its own identifiers,
how is the user to produce a valid EngineVertex/Edge for insertion?

So, the idea is to create an Engine(Vertex|Edge)Insertion datatype which
can be used, via insertVertex(Edge) to get an EngineVertex(Edge).
Vertex, Edge classes produce insertions
E and V types introduced to language prims
Update GraphOfTheGods example