Added support for child models and lists

Models can now have properties which are themselves models.
Models can now have List<string> properties and List<model> properties.