enable rabbitmq heartbeat to solve processes hang by amqp socket
enable rabbitmq heartbeat to solve issues of hanging SIP processing because of a broken amqp socket

This implementation enabled the rabbitmq's client side's heartbeat negotiation.

Issue:
Because of TCP's nature, it takes very long time for a TCP peer to make the decision of closing a local socket when the connection actually is broken. The event_rabbitmq module didn't handle the situation which causes the Opensips1.9 stop processing UDP packets until the O.S decides to close the local socket. One of the consequence is that UAC cannot register to the registrar during this time period.

Issue Reproduce:
1. Block an existing amqp connection from the rabbitmq-server that event_rabbitmq module connects to.
2. From the event_rabbitmq side, the UDP receive-buffer that Opensips uses should be full.

Solution:
If the module, even_rabbitmq/rabbitmq-client, doesn't get a heartbeat message from the rabbitmq-server within X seconds, the rabbitmq-client will kill the local socket connection actively.

Added a modparam:

modparam("event_rabbitmq", "heartbeat", [X seconds]
Switches to LCB_SYNCHRONOUS. Enables better reconnect support with command retry as well as a lazy_connect option.
Reset prepared statement between query lists on shutdown
Revert "Reset prepared statement between query lists on shutdown"

This reverts commit 1a070015f4cffe612d3a3cb3a66e864d7374db04.
nat_uac_test() : Add support for Shared Address Space (RFC 6598)
100.64.0.0/10 address block is processed like any RFC 1918 blocks
Re-install dlg callbacks (for restoring FROM/TO hdr) upon re-loading dialogs on startup.
Reported by Jeff Pyle.
Use proper locking function (via the generic locking API)
Reported by Max E. Reyes Vera Juarez.
core: enhance error log for un-parsable msg by adding the source IP and port
Also trace the CANCEL requests in case we're doing trace_dialog()
(cherry picked from commit 50463f044c5bd42eb5485cac52419a8ec45ee201)
Merge pull request #111 from csollet/rfc6598

nat_uac_test() : Add support for Shared Address Space (RFC 6598)
Merge pull request #100 from franklyfox/1.9_rabbitmq_heartbeat

enable rabbitmq heartbeat to solve issues of hanging SIP processing because of a broken amqp socket
event_rabbitmq: added heartbeat parameter doc
Added Redis Raw query capability
Do proper return code to script from cachedb_* functions ( treat 0 as success )
Support returning the new value from cache_add/cache_sub
Credits to rrb3942
Merge pull request #106 from rrb3942/couchbase

Switches to LCB_SYNCHRONOUS. Enables better reconnect support with command retry as well as a lazy_connect option.
rebuilt the cachedb_couchbase documentation to reflect the recent changes
Allow drouting module to be used for DID matching only ( where you only have prefixes provisioned, no GWs, and call do_routing with the 'C' flag )