Replacement of APM usage (Begin/EndGetResponse, etc.) with TAP (GetResponseAsync) and async/await

As part of a research project at the University of Illinois at Urbana-Champaign, we're developing a refactoring tool that replaces instances of the [APM](http://msdn.microsoft.com/en-us/library/ms228963.aspx) pattern with corresponding [TAP](http://msdn.microsoft.com/en-us/library/hh873175.aspx) method calls and the [async/await](http://msdn.microsoft.com/en-us/library/hh191443.aspx) keywords. I've applied it to this project and found three calls to APM methods.

This pull request replaces those existing calls to APM Begin/End* methods with functionally equivalent TAP constructs and the async/await keywords.

These two commit contain the actual code-level changes:
 * 9a535d9d8b0566178d4687aad4cb9480f80c6c69
 * 350e071d9d3fb7ae0d47f1fbbca3615862f04b42

I also added a dependency that is needed: [Microsoft.Bcl.Async](https://www.nuget.org/packages/Microsoft.Bcl.Async). This package improves support for async/await-based programming for older frameworks, or frameworks that are missing functionality (for WP, specifically, TAP extension methods for WebRequest).

Are you interested in merging this pull request? If not, please let me know why, and I'll try and improve the pull request with your comments in mind.

Thanks for your time,
David Hartveld