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.

Keys() 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.