Changes to stop keepalives on unregisters

Observed cases where keepalives from `nat_traversal` continued after unregister were traced back to a few lines of code which prevented stopping keepalives on unregister events.
core: introducing OpenSIPS contexts

A context is simply a data buffer. It can also be seen as a key-value
database, where different pieces of code register certain keys, in order
to maintain their values within each newly created context.

Contexts may be attached to any structure. The primitives defined in
"context.h" represent a generic way of registering/storing/fetching
data.
core: export sip_msg context operations

All sip_msg structures may now hold additional data within a context.
tm: export transaction context operations

All transactions may now hold additional context-specific data.
Data can be stored/fetched using the newly added functions in tm_binds.
Disable MI commands when presence is in lib mode.

Reported by Carlos Oliva @telematico, closing #382

(cherry picked from commit 7058396dfff62769a58103517ae42bf57078b8bd)
Add end_sub_on_timeout module parameter.

If a presence subscription should be automatically terminated (destroyed) when receiving a SIP timeout (408) for a sent NOTIFY requests.
Closes feature request #380.
Filename in script actions must be non-null.