Created a new test case for the try-else-catch semantics. It also serves
as an example of how to use this language feature.
I was trying to write a struct traversal function when I realized I have
been rewriting a lot of the code I had written for the
'Dao.Interpreter.referenceUpdate' and 'Dao.Interpreter.referenceLookup'
functions. Rather than rewrite, I have decided to define a new monad
transformer 'Dao.Interpreter.ObjectLensT', inspired by the now famous
"lens" Haskell library. I will redefine the
'Dao.Interpreter.referenceUpdate', 'Dao.Interpreter.referenceLookup',
'Dao.Interpreter.objectReferenceAccess',
'Dao.Interpreter.objectReferenceUpdate',
'Dao.Interprter.objectIndexAccess', and
'Dao.Interpreter.objectIndexUpdate' functions to make use of this monad
transformer. I will also implement general query, map, and fold
functions for traversing arbitrarily complex objects.