Change Headers to use NameValueCollection, allows for multiple values for same key, fixes Issue #336
Merge pull request #371 from amaitland/bug/duplicate-headers

Support Duplicate Headers
Change IWebBrowser.LoadError to have proper EventArgs (LoadErrorEventArgs)
Slight tweaks after 'cherrying' 284e4f89f5ed78d8d14cc6083b73c7c4632e7b16: I feel that the delegate type can stay here; it's not strictly a part of the LoadErrorEventArgs class (so it doesn't truly belong in that file), and it's too minimal to warrant its own file... so let's leave it like it were for the time being.
Change public commands to be straight ICommand (easier for them to be replaced if we implement an mvvm framework later)
Spaces, not tabs, as usual. :)
Duh. I fouled up big-time in my previous commit. Always compile before committing... I guess I should start Visual Studio and not just sit in a text editor. ;)
Forward-port of ec4e0650c67fbd20c9afbfa4ad81bc2a4675a053  from @amaitland: API cleanup - move non WPF specific commands from IWpfWebBrowser to IWebBrowser (The files had changed, so it was easier to just redo the change than trying to get the merge working).
Even though it's a tad extreme, let's go with the "one-file-per-type" approach. It just makes things so much easier, and ReSharper makes these kind of changes be only a single keyboard shortcut away anyway.
Since we are now in "generic land", make the comments take that into accounts. (Dependency Properties is a WPF-only feature.)
And why not be more explicit about this part also, while we're at it?
Move properties LifeSpanHandler, KeyboardHandler, JsDialogHandler from IWebBrowserInternal to IWebBrowser
Explicitly implement IRenderWebBrowser.BytesPerPixel - IRenderWebBrowser should now be fully explicit
Expose Delete (part of the Cut/Copy/Paste suite of commands)
Set IsBrowserInitialized in WinForms WebView
Extract DisposableEventWrapper into separate internal class
Changed CanGoBack, CanGoForward and CanReload to be dependency properties, to simplify data binding scenarios for WPF.
Cherry-pick of 082faa52664cfe652de144718c12ad275546fb75 (which had a totally incorrect/misleading commit message for whatever reason, @JanEggers... ;)
Once again, the lack of "continuous integration" before commit is apparent. :P
Let's complete the circle by adding the CanReload method to the public/generic-most interface also.
Trivial ReSharpenings/cleanups.