Refactor: preliminary Socket.IO 0.8 support

In summary:
- Support Socket.IO 0.8 protocol
- Completely reworked API: idiomatic approach to handlers (blocking receive)
- Sending acknowledgements
- Initial support for events
- Dropped Codec & Transport abstractions (unnecessary)
- Dropped the custom ServeMux (obsolete)
- Connection logic rewritten and simplified
- Separated flash socket policy server
- ...removed a lot of code
client: wait for a connect signal before returning from dial
encoder: dont force framing so that the client can be compatible with socket.io node servers
connection: fix deadlock caused by incoming channel being blocked. make close() thread-safe