Implement generic List properties

@jpsim 
This still exposes `RLMObject` class and instance methods to Swift, though I suppose we should do that in a separate PR.