Bug fix caused by Dispose failing because 'Initialize' method throws exception

Fixing a bug that causes Dispose to fail because the `Initialize` method had earlier thrown a `CryptographicException` before the private variables `m_p, m_G, m_X` could be set. This causes the GC to fail to properly finalize an instance of DiffieHellmanManaged.

Exception thrown:

System.NullReferenceException: Object reference not set to an instance of an object.
   at Mono.Security.Cryptography.DiffieHellmanManaged.Dispose(Boolean disposing)
   at Mono.Security.Cryptography.DiffieHellmanManaged.Finalize()