Added new dns_try_naptr option.

The rationale behind this is that many stacks do not implement NAPTR
correctly and rely only on DNS SRV. With misconfigured DNS servers, it
can lead to useless lookups generating potentially long delays.

This can now be disabled if not needed.
Fix PUA module so that it sends a final PUBLISH on expiration.

A final PUBLISH with expires=0 is now generated when a publication
has expired. This will trigger the transmission of a final state NOTIFY.
Improved PUA DialogInfo.

Several fixes here:
  - Dialog callbacks are now correctly setup after a restart of
    OpenSIPS. In other words, restarting OpenSIPS will not lead to ghost BLFs
    anymore.
  - Added an option allowing not to publish state change in case of reINVITE.
  - Added an option allowing not to publish state change in trying state.
    In other words, a PUBLISH will be sent only when OpenSIPS has received a
    18x response type and not before.
Revert commit 4b29352e.

There is no reason why we should not create new
TCP Connections on notifications. Imagine an architecture with two
redundant servers handling eachother part of the calls. Dialog notifications
would only work when the call is going through the server which handled the
subscription.
We now rely on libxml api instead of cut/paste.
Added presence federation algorithm.

This patch relies on received_time being unchanged when a publish is
refreshed.

The aggregation merges the different presence states so that the last
published one is considered as the correct presence status. A primary
presence source can be defined. Call events are also considered as
primary. PUA fake presence generation is considered as secondary.

This is particularly useful with most hardware phones as they are not
able to handle several aggregated presence states.

SNOM phones being buggy, they send a body with a PUBLISH refresh
despite the RFC states it MUST NOT happen. We added a workaround for that.
Fixed dialog-info problems in case there is no dialog.

Without that patch, when OpenSIPS does not find any active dialog
and needs to NOTIFY that state, it correctly sends a full state dialog
information, but the XML document is wrong.

This is the wrong format, the one that was used:
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="0" state="partial" entity="sip:752@ds.local.beip.be"><dialog
id="752"><state>terminated</state></dialog></dialog-info>
(info is not partiali but full, dialog id is wrong).

This is the correct format:
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="6" state="full" entity="sip:753@ds.local.beip.be"/>
Fixed presentity expiration.

Without this patch, an expired presentity does not trigger the
transmission of a final state NOTIFY.
Fixed presentity naming.

'Calling' is disturbing especially when the given peer is _receiving_ a
call.
Added MySQL cacheDB back-end.