[iOS] Update system column handling

This commit makes the following changes
- System columns asked from the server is now controlled by the local
store
- Core Data store now bases system columns on the schema
- Gracefully handle invalid table names (core data throws instead of
returning error)
- Replace NSDictionary based Passthrough Test store with a wrapper
around the test CoreData store