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