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).
The problem is that if I don't have the properties on the relationship I need to know a way to obtain the information to find the enitty on the other side of the relationship. 

Let's take as an example `BidirectionalManyToManyTest` with `AccountOwner` and `BankAccount`, this is the information I have when `Neo4jDialect#createTupleAssociation(...)`: is called:

EntityKey{table='AccountOwner', columnNames=[id], columnValues=[...]}
AssociationKey{table='AccountOwner_BankAccount', columnNames=[owners_id], columnValues=[...]}
RowKey{table='AccountOwner_BankAccount', columnNames=[owners_id, bankAccounts_id], columnValues=[...]}

What I want to obtain is the creation of a relationship like the following (I've omitted the type of the relationship and the properties):
`(AccountOwner) - [r] - (BankAccount)`

In this case the associationKey owner is `AccountOwner` and I can obtain the key to identify the corresponding node from `AssociationKey#entityKey`, what I'm missing is the metadata information to find the `BankAccount` node the relationship has to be connected.
With the current data I can extract the fact that the bankAccounts_id contains the id of target entity (`BankAccount`) but I don't know the name of the entity and which column contains the id.

To solve this problem I've added the following information in the AssociationContext: `AssociationContext#targetEntityKeyMetadata` and `AssociationContext#targetAssociationKeyMetada`
In the same example this values would be:

AssociationContext#targetEntityKeyMetadata = EntityKeyMetadata{table='BankAccount', columnNames=[id]}
AssociationContext#targetAssociationKeyMetada = AssociationKeyMetadata{table='AccountOwner_BankAccount', columnNames=[bankAccounts_id]}

With this additional fields I can now find the `BankAccount` node and create the relationship.

Note that removing the temp nodes is related to this issue because I cannot remove them without having this additional information.

I've also added the field `AssociationKey#targetKey` but writing this reply I've noticed that I can remove it.