PREVIEW: OGM-592

@emmanuelbernard, @DavideD: This still needs some refinement but can I get your early feedback on this. The general idea is the following:

1. Move constant attributes from `AssociationKey` to `AssociationKeyMetadata`
1. Calculate each `AssociationKeyMetadata` only once and cache it at `OgmCollectionPersister` or `OgmEntityPersister` (in case of to-one assocs)
1. Have `AssociationKeyMetadata` generally represent its own side of an association (i.e. either the main or the inverse side, if it's a bi-di association)

With an ad-hoc logging dialect I have locally, I did not notice any changes in the number or order of GD invocations for some tests I checked, but the order of row key columns has changed in some places as expected due to 3.)