UC-1155 SIP services crash on Mongo exceptions
http://track.sipfoundry.org/browse/UC-1155

- implemented an exception handling class 'OsExceptionHandler'
- exception handling methods can be registered in 3 different
exceptions containers
- there are 3 map containers which store entries for 3 types of exceptions : std, boost and mongo
- a container is a map which stores entries as a pair of :
    - string ( used to identify the corresponding class of an exception)
    - vector of exception handling methods
- the form of registered exception methods should be
    - std - void stdException(std::exception& e)
    - boost - void boostException(boost::exception& e)
    - mongo - void mongoException(std:::exception& e)

- The default behavior for mongo::SocketException and mongo::ConnectException
is to log and exit. For all the other exceptions the behavior is to log and abort
- If an application desires to change the way in which an exception is treated it can
register a new handler which will be used from that moment.

- Replaced the function passed to set_terminate(catch_global) which treats exceptions from sipXproxy, sipregistrar,
sipXrls, sipXsaa, sipXpublisher with static class function 'catch_global' from within the 'OsExceptionHandler'(which caches the
exceptions and calls the specific exceptions handling method stored in one of the containers)
- sipXpublisher defines 2 custom handling methods in file "CustomExceptionHandlers.h" so that it can
change the default behavior to a custom one: abort on mongo::SocketException and mongo::ConnectException
- sipXpark : didn't make any modifications since it doesn't use set_terminate to set an exceptions handler
- sipxsaa : can't integrate the solution in project

- added Unit tests