Fix for outgoing CDC packets

Fixed and improved how CDC sends packets: added packet header support,
added outgoing packet buffering, fixed a bug where it couldn't send
packets larger than 64 bytes, added ZLP support.