Making the serialization visitor work with the ArrayCollection<T> annotation work

Added type passing into the navigator for arrays which are not associative. With the previous implementation, only in the case of the usage of annotation ArrayCollection<K, V>, the V is passed into the navigator. However, when using ArrayCollection<T>, the type is ignored and not passed into the navigator. This implementation fixes this and passes the type into the navigator when using the ArrayCollection<T> annotation.

**Example:**
In this example, the GenericSerializationVisitor does not pass *MyClassName* into the GraphNavigator:
```
    /**
     * @Serializer\Type("ArrayCollection<MyClassName>")
     */
```
But in this example, the GenericSerializationVisitor does pass *MyClassName* into the GraphNavigator:
```
    /**
     * @Serializer\Type("ArrayCollection<MyClassName>")
     */
```

So, in the case of the ArrayCollection<T>, the value of T is ignored. Most of the time, this behaviour will not surface because of the type deduction, done in the GraphNavigator. But if there is a mismatch between the set type in the annotation and the actual data type of the serialized object, this behaviour occurs. This pull request fixes this behaviour.