Cleanup.
Change 'Sync' implementation.

Instead of throwing an asynchronous exception to abort the waiting
thread, distinguish normal/abort case with 'Maybe'.
Add connection pool implementation.
Remove pool resources after configurable timeout.
Use 4 connections by default.