Fixed Com_Error for Linux/Mac again

This time in a much more elegant way. The resource cleaning up which used to be done in Com_Error has now been moved to the exception catch-site. This allows the VM/library stack to remain in memory while the run time performs its magical stack unwinding. At which point all resources are cleaned up and unloaded.