Target net40 by default, and still allow async
Delete old net40 compatibility project
Use a long-running task for the main listener

This improve thread usage considerably.
Move Listen to instance method
Move port to constructor
Move idle timeout to constructor
Remove unused references
Fire event when message received
Make Listen blocking and cancellable

This relieves the need for the caller to block and manage the server as
a disposable resource.
Again, make Listen blocking and cancelable

Just like before, but one level deeper
Accept sockets asynchronously
Minor cleanup
Receive data asynchronously when listening
Cleanup
Have the client use the async receiver too
Replace the Receiver with the AsyncReceiver

No need for two of them now
Refactoring
Update version to 1.0
Update nuspec
Update unit test