Fixed problem with ModelToIdPropertyTransformer and ArrayAccess entities

Updated ModelToIdPropertyTransformer to work with entities that implement \ArrayAccess 
Added FooArrayAccess class to allow testing of new code
See #2301
'will only ever be'. 

For `multiple=false` there is no need to expect a collection. If collection is available for option `multiple=false` than it is a misconfiguration and error should occured.