Async client

Hi,

I've added an AsyncPop3Client.
Basically, I just copy/pasted the synchronous implementation and fixed where I could, to let it work with Async/Await.

To maintain .NET 2 compatibility, I've added the unit tests and the implementation in a different project.
The unit tests themselves are copy/pasted from your unit tests, and fixed to work with my async implementation. The async API is written according to how MS writes it (i/e HttpClient) which means all method names end with Async. 

I've kept a private disconnect method as a sync operation, so the client would work with the IDisposable pattern.

I was wondering if this would be of interest for you.

things I have left to do:
   - I still have some work on documentation (as copy/paste does not change documentation :P)
   - I need to go over the stream read, as I'm currently async reading one byte as at a time, which is basically how you're doing it.
   - Some real world testing :P I have only tested this against your unittests.