Implemented Basic HTTP Authentication for DefaultWebClient:

commit 62f1c1662a037f16de7de2932848cd36842ec84e
Author: Adam Wendt <adam@acehostingllc.com>
Date:   Thu May 31 11:25:29 2012 -0700

    Implemented basic authentication for DefaultWebClient.

    * Added private SetCredentials(Uri address) method to DefaultWebClient
      that is called from UploadValuesAsync and UploadValues to set credentials
      on innerClient based on the UserInfo field of the address passed in.

    * Tested that both UploadValuesAsync and UploadValues set proper UserName
      and Password if they are in the supplied address.

commit f3d70ddb61dea9a21af41dfee583ffe87174cc89
Author: Adam Wendt <adam@acehostingllc.com>
Date:   Wed May 30 16:38:43 2012 -0700

    Initial failing test of DefaultWebClient

    * UploadValuesSetsCredentialCacheOnWebClientWhenUserInfoInUrl: Implemented
      using Rhino.Mocks.
    * Changed DefaultWebClient so that it has a constructor that takes a
      System.Net.WebClient so we can test that it acts on it.
    * Made DefaultWebClient set innerClient.Credentials to a new
      CredentialCache to pass the test.
Add HTTP authentication support to CruiseServerHttpClient

* Added SetCredentials private method to CruiseServerHttpClient that
  looks at url and if contains UserInfo, sets credentials on WebClient.
* SetCredentials also has a forceAuthorization parameter that will set
  a Authorize header directly on the client. This is to support Jenkins
  which doesn't send a 401 challenge and thus WebClient won't send the
  credentials.
* GetCruiseServerSnapshot calls SetCredentials before first call to
  DownloadString call. Tested in
  GetCruiseServerSnapshotSetsCredentialsOnWebClient.
* GetProjectStatus calls SetCredentials before DownloadString. Tested in
  GetProjectStatusSetsCredentialsOnWebClient.
* Added try/catch to GetProjectStatus around DownloadString to look for
  403 Forbidden error that Jenkins throws to signal that we need to use
  the forced Authorization header. This is tested with
  GetProjectStatusForcesAuthorizationIf403ForbiddenIsReceived.
Finished HTTP authentication on CruiseServerHttpClient

* Call SetCredentials from SendPushButton before UploadValues. Tested in
  StartProjectSetsCredentialsOnWebClient.
* Removed a bit of duplication in GetProjectStatus.
Refactored credentials work.

commit b2a255c3071297a6f197e0c18009d4fb891cec66
Author: Adam Wendt <adam@acehostingllc.com>
Date:   Sun Jun 3 02:25:17 2012 -0700

    Improved DefaultWebFunctions XML documentation.

commit d895b28b57eaa1cd6503fbebb00b83e597f245f1
Author: Adam Wendt <adam@acehostingllc.com>
Date:   Sun Jun 3 02:17:31 2012 -0700

    Deleted IWebFunctions constructor parameter to CruiseServerHttpClient

    * Removed the premature injection parameter which just added junk to
      tests.

commit 7335f3cab46c636fb28f373abc478f39340c7d97
Author: Adam Wendt <adam@acehostingllc.com>
Date:   Sun Jun 3 02:14:01 2012 -0700

    Made webFunctions field on DefaultWebClient

    * Made an IWebFunctions field on DefaultWebClient set in constructor
      to a new DefaultWebFunctions so can easily be modified to being
      injected in the future if there is need.

commit 7ef06c4588df620a8363b78ec14d0a0b016d1b58
Author: Adam Wendt <adam@acehostingllc.com>
Date:   Sun Jun 3 02:07:49 2012 -0700

    Reduce duplication in DefaltWebClient

    * Deleted SetCredentials in DefaultWebClient and made it use
      DefaultWebFunctions

commit 283a84002f884898031480bd6b14c57c87a10217
Author: Adam Wendt <adam@acehostingllc.com>
Date:   Sun Jun 3 02:02:50 2012 -0700

    New IWebFunctions/DefaultWebFunctions

    * Moved SetCredentials out of CruiseServerHttpClient and into a
      new DefaultWebFunctions/IWebFunctions to prepare for getting rid
      of duplication in DefaultWebClient
    * CruiseServerHttpClientTests updated to pass in a new DefaultWebFunctions
      parameter to constructor. Is this fine or would it be better to add an
      extra constructor that takes the WebClient parameter but not the
      IWebFunctions one?
Minor documentation fix
Merge pull request #124 from adamipc/master

Basic HTTP Authentication for DefaultWebClient.