PIMPL example: CRegistry

The monolithic CModule API should be reduced in a way or another.
Here's a simple registry example that could supercede the "NV" (?)
part of the CModule API.

GetKeys() is not as efficient as the old iterator based API, but
on the other hand, it doesn't expose the internal implementation
details. Thus, it is possible to even change the backend without
breaking binary compatibility.

Copy() is intentionally kept out of the public API, since it's not
a typical task for modules. CRegistryPrivate is made available via
the private header and a static getter.