Fixes #118. Using ExceptionDispatchInfo class in place of non-public InternalPreserveStackTrace method

Mono does not have `InternalPreserveStackTrace` and in .NET (and Mono 4.5 but probably back since 4.0, although irrelevant because we don't distinguish mono from .NET when building but only the version of the framework) a new class `ExceptionDispatchInfo` was introduced for this.

This change uses the new class to avoid exceptions on Mono 4.5.