Added exception handling mono setting profileroot

Added exception handling for running on mono.

A simple try catch could not work as you can't catch a missing method exception as it occurs at the JIT level however you can move the method calls out to a new method and then catch the call to the new method.

This addresses #668 and have tested it on OSX Mavericks:

![screen shot 2014-05-10 at 21 01 41](https://cloud.githubusercontent.com/assets/105126/2936985/0081f9de-d87e-11e3-8381-a3456d54d714.png)

Not sure how the logging to the console about the exception is happening though :worried: 

Hope this helps!