Fixed packet send callback design issue

There were two issues here.
1. When Socket.send called with or without callback alternately,
   the trigger order is incorrect.
2. The 'drain' event from transport is one per packet for transports
   supporting framing like websocket and is all in one for those without
   framing like polling.
Merge pull request #130 from roamm/packet_send_callback

Fixed packet send callback issues
Revert "Fixed packet send callback design issue"

This reverts commit 0dfa68c710412ec06a14abbd5a80c4c8fab0c84f.