Using a HasOne association twice raises an exception (Undefined method `map')

When an `Association` detects that it is serializing an array, it calls `use_array_serializer!` to set the serializer to `ArraySerializer`, and set `@options[:each_serializer]` to the current serializer.

When `use_array_serializer!` is called a second time, `:each_serializer` is now `ArraySerializer` which causes things to blow up.

The symptom is "Undefined method `map'", since the ArraySerializer tries to iterate over a single object.

The `HasMany` association already contained a check to prevent calling `use_array_serializer!` twice, this PR adds a similar check to `HasOne`.