Initialize array properties on standalone Swift RLMObject subclasses

With Swift RLMObject subclasses, RLMArray properties start out as placeholder array objects rather than nil, so handle converting them into proper standalone arrays on first use.

@alazier 
That results in the backing array sometimes being created when it isn't actually needed (such as during schema generation), but I guess avoiding that's probably just a dumb micro-optimization that might not always even be a win since it pushes more work into the accessor. Would definitely be cleaner to do it on init.