Added the basic namespace extension interfaces
Added required shell interop functions for the next stages of the shell namespace extension code (the pidl manager), also created some basic tests for the new shell interop code.
nuget packages explicitly included for now..
The PIDL manager can decode pidls into a managed format, now we just need encode and a few other utilities.
Interim pidl commit
More playing around with pidls, need a few hours for it to be of any use though.
More work on the Shell Namespace code - the PIDL manager supports the shell namespace extension, enumeration is supported and I'm moving onto view objects.
The Shell Namespace extension builds a defview for all folders (currently). All of the required interfaces have been written and there's room to build on this now. Still have to finish the sharp shell implementation of IShellFolder but it's certainly getting there.
More structural work on the shell namespace extensions, it's starting to come together now.
Nearly done with IShellFolder.
Finished IShellFolder, now need to work on IShellFolder2 and the structure of the SharpShell extension.
Finished the basic server registration code, ready to start implementing a test server.
Stacks more work on the namespace extensions, just wiring up a shell browser to use as a shell debugger and load SS namespace extensions in proc. This'll be neceassary for debugging the large number of namespace extension features and calls
Added some tests to SharpShell that drive some of the Shell32 and IShellFolder functionality - killed a couple of nasty bugs in the marshalling along the way. The Shell Debugger is still failing in the same place as before - however I've noticed that the pointers it's creating for the IShellView seem to be very high, they might be invalid.
Tweaking the COM interface definitions a bit. This fixes an AccessViolationException during a call to IShellView::UIActivate, fixing issue #8.

I also had to redefine the methods from IOleWindow inside IShellView and IShellBrowser, otherwise it wouldn't work.

Terminates silently in x86 for some reason.
Merge pull request #9 from hmemcpy/d/ShellDebugger

Making ShellDebugger work. Work in progress...
Tested and integrated igal's fixes for the shell debugger, ready to push forwards on the next part.
Minor tweaks during bug hunting - will need to work on the shell debugger to get a handle into the lower level functions.
Fixed a cross-thread access issue in the shell debugger, also added more logging to the SharpNamespace Extension
A few steps further forwards with the shell namespace extensions, they're being instantiated at least by the shell now, but marshalling errors are breaking things early on. More debugging to do.