More structural work on the shell namespace extensions, it's starting to come together now.
Nearly done with IShellFolder.