ignore EWOULDBLOCK and ENOBUFS when sending

this is what the twisted framework also ignores, we trust them here.
the previously used EAGAIN is the same as EWOULDBLOCK on linux.

fixes issue #40
#41 - Also ignore ENOBUFS
#41 - must be EWOULDBLOCK instead of EAGAIN to make windows happy
Yey! make the code 1% faster by not delimiting the struct module
Regenerated spec.
#42: Fix assertion message
Use rabbitmq-codegen from submodule
Default values should be strings, not unicodes
#44 - fix docs