#26630 wrap command callbacks to ensure exceptions bubble up in Maya

Because we use evalDeferred for stability on Linux, we've exposed a bug in Maya that causes any exceptions that are raised during the callback to get "stuck" and could potentially cause a crash. This works around the issue by wrapping the callback in a try/except clause and logging our own exception with the error and traceback info.
Some doc strings would be lovely! (especially with this subtle naming of methods :smiley: )