Introduced memset_secure() to wipe memory

Hi Paul,

please review this pull request for merging into the main source tree. These fixes avoid the problem that the compiler might optimize away calls to memset() that are used to scrub variables at the end of their lifetime.

I incorporated your suggestion to implement a general-purpose memset_secure() as opposed to a function that is only used to zero out memory (aka explicit_bzero()).

Thanks,
David