Added header support for the .NET client

- Added functions for setting headers in HttpWebRequestWrapper and WebSocketWrapperRequest
- Added tests to check that request headers are being set correctly
- Added a custom dictionary for headers to prevent them from being set after connection starts

#1362