Mono Exception Handling

I added most, but not all, of the exception handling calls. I also had to adjust some exception text in the test file because it seems mono has different exception messages.

There are two remaining test failures. One is the exported function test, and the other the last one which is marshalling an async exception ('exception when marshaling CLR data to V8 when completing an asynchronous call from JS to .NET'). The test failure indicates that the error is not getting passed back to the function, so I am assuming it's not getting caught properly somewhere. Any idea where in the code to look? I tried altering MonoEmbedding::ContinueTask to handle exceptions, but it did not seem to make a difference.

If nothing comes to you off the top of your head, I can look more later.