Parallel extensions

This branch adds the following features which are necessary to support asynchronous service interfaces:

1. Add a proper implementation of `WebRequest.GetResponseAsync`
2. Add utility methods from Parallel Extensions Extras and `InternalTaskExtensions`
3. Update `ProviderBase<T>` to support constructing asynchronous web requests and handling the responses.
4. Add the `IProgress<T>` interface to support .NET 4.5-style progress notifications in .NET 3.5 and .NET 4.0.
5. Add the `AsyncCompletionOption` enumeration to allow clients to specify task behavior for asynchronous server-side operations.
6. Add an initial documentation page describing the approach taken for the new asynchronous services.