Add support for read timeout

  the wait method now has a third argument: timeout on read, this
  setting will be set temporally when used. if timeout is set
  to 0 (default) then no timeout is applied (BC).

  This feature is useful if you want to add timeout on RPC calls
Improve timeout management to use native stream_select function
Merge pull request #66 from ekino/add_timeout_read

Add support for read timeout
rename AMQPConnection to Abstract connection

This commit is neede to make blame works nice after all thanges
add possibility to work with NO_DELAY sockets

Using sockets without NO_DELAY option causes extreme lack of
performance in some cases (for example RPC calls and responses).

There is no possibility to set NO_DELAY option when working with streams, so
AMQPSocketConnection class was added with some minor refactoring

See benchmark for performance comparison between socket and stream connections