Implement a queue of actions for transmit/receive requests.

Allows clients to queue several requests without waiting for
their completion. Identical requests are discarded.
Work in progress, all previous functionality is covered.
Merge pull request #54 from VDVsx/actions-queue

Implement a queue of actions for transmit/receive requests.