Use poll(2) for timeouts on socket

Use poll(2) instead of select(2) to do timeout operations on sockets. This helps
with the situation where the fd is larger than FD_MAXSIZE.

Fixes #168
Fixed timeval to milliseconds calculation error

milliseconds = seconds * 1000 + microseconds / 1000
Use gethrtime() on HP-UX for timers.

HP-UX does not have clock_gettime(CLOCK_MONOTONIC), instead use
platform-specific gethrtime() function.

Thanks to zhongk for this fix.
Correct #include <sys/uio.h> location.

sys/uio.h should be included in amqp_private.h and not amqp.h, it also should
not be protected by a test for the GCC compiler.

This should fix the issue with compiling rabbitmq-c on HP-UX using aCC.

This fixes #183.
FIX: incorrect OOM for 0-len xchg in amqp_consume.

This fixes a bug in amqp_consume where the function would incorrectly return an
OOM condition when a 0-length exchange name was returned.

Fixes #192
Allow INITIAL bufffer and page size configuration

Signed-off-by: Mike Stitt <mikes@spindance.com>
Remove unused INITIAL_DECODING_POOL_PAGE_SIZE def

AMQP_INITIAL_DECODING_POOL_PAGE_SIZE isn't used anywhere in the code. Getting
rid of it.
FIX: Improve invalid frame detection code.

Improve detection of invalid AMQP frame header before allocating frame buffer.

This fixes #187.

Thanks to Mike Stitt <mikes@spindance.com> for the inspiration on this.
Add clang-format configuration file.
Correct htonll macro detection in CMake.

CMake's check_function_exists() only checks for a symbol being defined in a
library, and does not cover the instance where a function may be defined as a
macro a header. Use check_symbol_exists() to check arpa/inet.h header for symbol
existance of htonll.

This fixes #200
Ignore build directories.
Fix: remove superfulous assignment in amqp_socket.c

sockfd is assigned, then assigned again unconditionally without being read
from. There's no point in this statement, so lets get rid of it.
FIX: don't range-check channel_ids.

Even if a channel_max is specified, channel_ids can be any number, so don't
range-check channel_ids received. At present this gets rabbitmq-c back into
compliance with the way the RabbitMQ broker works.

See issue #187, #195

To correctly enforce channel_max from the client side, rabbitmq-c would need to
track open channels, which is a bit more involved to do correctly.
Preparation for v0.5.1 release.
Bumping version for development.
autoconf: look for htonll in arpa/inet.h

htonll maybe defined as a macro, look for it in the arpa/inet.h. CMake build
system already does the right thing.

Fixes #206
Add usable YCM configuration file.
ssl: Fix a bug that host name verification failure isn't reported

There is an unexpected local variable shadowing in
amqp_ssl_socket_open(). So the following code is meaningless
unexpectedly.

    status = AMQP_STATUS_SSL_HOSTNAME_VERIFY_FAILED
Suppress OpenSSL deprecation warnings on OSX
Enable compiler warnings with Clang