Use Semaphore to avoid the internal queues grow infinitely.

Since the ```send``` are asynchronous, it's possible that the users keep sending stuff so the requests are accumulating in the various internal queues of Zab. Solve this by adding a Semaphore represents the maximum number of outstanding request to avoid this.