Added possibility to modify the created web request object.

Made IWebRequestFactory interface and its WebRequestFactory
implementation public. If the developer needs to modify the generated
WebRequest object (i.e. disable the write stream buffering), he can set
the value of WebRequestFactory.Current property to his own factory
implementation.