FIX: disable SIGPIPE on platforms w/SO_NOSIGPIPE

The DISABLE_SIGPIPE_WITH_SETSOCKOPT preprocessor define got deleted the
os-layer socket functions were moved to amqp_socket.c. This fixes that.
FIX: force correct timer precision on Mac OS X
Add partial support for heartbeats in wait_frame
Add support for heartbeats in amqp_basic_publish

Check heartbeats when doing basic.publish. Do this by doing a recv on
the socket.
Code clarity improvements in heartbeat handling
listen to multiple routing keys separated by commas
OpenVMS MMS build system

Tested on OpenVMS v8.3 - Alpha. Likely to work on IA based systems as well
Make connection the socket object owner

Improve the socket interface by making the amqp_connection_state_t
object the amqp_socket_t owner, and tie its lifetime to the connection's
lifetime.  This prevents a class of silly errors where the socket object
isn't freed, or the socket object is assigned to two different
connection objects
Get rid of amqp_socket_error interface

Get rid of experimental amqp_socket_error interface. Errors are returned
using the error codes from the primary function
FIX: remove amqp_set_socket() from public API

This should've been removed in da9c2c109a
Squash OpenSSL deprecated warnings on MacOSX 10.7+
Add nonblocking connect support
Make sure date math is done in 64-bit prec

Some platforms declare tv.tv_sec and tv.tv_usec as long which is 32-bit
which will integer overflow in our date math
Add amqp_table_clone() to deep-copy a amqp_table_t
Add a high level API for consuming messages
Ignore MacOSX .DS_Store files
FIX: Incorrect assert in wait_frame_inner

Probably introduced when consume_one_frame() function was added, and
wasn't found during testing because its rare to see partial recv of
frame when testing locally.  Need to devise a test for this.

Fixes #126
FIX: amqp_table_clone handle 0-len table correctly

amqp_pool_alloc_bytes() has undefined behavior when a 0-length buffer is
allocated. Properly handles cases where 0-length tables or buffers are
encountered when cloning a table.

This fixes #127
FIX: basic_properties_clone handle 0-len strings

Properly handle 0-length strings in amqp_basic_properties_clone()
FIX: handle 0-len msg body in amqp_read_message