Add try/catch to UDFs and improve VersionOnDate UDF performance.

Force try/catch on UDFs and use warn() when parsing fails.
Use new date parsing & caching from akela. …
Rewrite VersionOnDate UDF so that it can be called from within a loop w/o parsing the complete structure every time.