Handle recursion errors

In some cases, for example when a frame is App.ZApplication.ZApplicationWrapper, then "frame.f_locals.get('self', None)" raises a maximum recursion depth error. This fix catches these and moves further so Zope continues to run (without the fix Zope breaks) and we still get a (request-less) error report in Sentry.