Feature/create custom collection method

Allow to customise the creation of a `collectionType` when subclassing the AssociatedModel. Functionality stays identical, but by extracting the creation of the collection to its own method, one can override this method when subclassing.

A possible use case is when one wants to pass `options` to the collectionType constructor, which must be available in the constructor, before the `initialize` method is called. 
*( specific use case: a dependency injector that needs to be passed from AssociatedModel → Collection → Model, with the `initialize` method the models in the collection are already constructed )*