Support 32/64-bit Registry view

Support reading 32-bit or 64-bit Registry view.

****
Additional notes:
The change is trying to be as minimal and as compatible with CPython call. IronPython solution is using built-in .Net Microsoft.Win32.Registry key which has some impedance with native calls. Calling OpenKey in this modified version will re-init rootkey which might be expensive. I was thinking of doing lazy initialization and have ConnectRegistry return without connecting - have it only connect on initial access of a key and check for the value of _sam_. But this will not have the same access pattern as CPython.

I am open to suggestion :).