OGM-548 Remove redundant properties from relationships in Neo4j

https://hibernate.atlassian.net/browse/OGM-548

This pull requests will remove the TEMP nodes, the redundant properties on the relationship for associations and collection of embedded.

I had to add some values on the AssociationKey and the AssociationContext to achieve this.

Note that it won't affect the additional properties on OneToOne and it won't create a separtate node for an embedded attribute (There are separate issuesfor this).
As discussed with @emmanuelbernard, only an immutable view of this view should be exposed to `GridDialect` operations. We could e.g. make it an interface and have the mutators only on the engine-internal implementation type.