EngineObject and ResultObjects now use indexers

C# syntax to get an Engine from an EngineProperty on an EngineObject:
```MyEngineObject["propertyName"]```

C# syntax to get a Result from a ResultProperty on a ResultObjects:
```MyResultObject["propertyName"]```

This will allow us to use StringTemplate references to dynamically
access properties that have been added at runtime.