Handle "too small" success from CNG and clear out decryption residuals
* When NCryptEncrypt or NCryptDecrypt reports success with a cbResult value that doesn't make sense, normalize the error to NTE_BUFFER_TOO_SMALL.
* When resizing arrays for the array-returning implementation, clear out the temporary arrays to reduce the amount of time they're sitting in memory before the GC clears the memory for reissuance.
Commit migrated from https://github.com/dotnet/corefx/commit/
7c586d32edce94c910fc8b402f4adedaa3cf05fd