Replacement of APM usage (Begin/EndGetResponse, etc.) with TAP (GetResponceAsync) 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 one call to an APM method.

This pull request replaces those existing calls to APM Begin/End* methods with functionally equivalent TAP constructs and the async/await keywords.

This commit contains the actual code-level changes: fb853bf9bfe60319b99888193626d7e4ac755663

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, the extension method GetResponseAsync() & friends 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