Merge remote-tracking branch 'origin/20131025-federated-cloud-contacts'

# By Robin Raymond (55) and others
# Via Vladimir Morosev (7) and Robin Raymond (4)
* origin/20131025-federated-cloud-contacts: (69 commits)
  - Fix: some STUN packet logging to better tell state of what is going on https://github.com/openpeer/opios/issues/234
  - Fix: RUDP doesn't recognize remote close properly so disconnection takes too much time https://github.com/openpeer/op-stack-cpp/issues/54
  - Fix: RUDP messaging doesn't think it is established because of a missing lock https://github.com/openpeer/op-stack-cpp/issues/53
  - fix: ICE Priority values need to change when IPs are re-arranged in priority order https://github.com/openpeer/op-services-cpp/issues/26
  - Fix: Interface preference not respected https://github.com/openpeer/op-services-cpp/issues/22
  - moved hard coded setting to optional setting for minimal keep alive duration https://github.com/openpeer/op-services-cpp/issues/20
  - fix: correctly detects multi-homed TURN creation situation https://github.com/openpeer/op-services-cpp/issues/20
  - fix: not correctly waiting for all STUN discoveries to complete before matching TURN https://github.com/openpeer/op-services-cpp/issues/19
  - fix: should only do TCP messaging read check if actually connected https://github.com/openpeer/op/issues/47
  - fix: backgrounding called wrong method when returning from background - fix: ICE session had a few mistakes to decide when it was safe to background - fix: TURN socket didn't correctly determine when it was safe for backgrounding https://github.com/openpeer/op/issues/46
  - Fix: backgrounding singleton object was not static! - Fix: notify when backgrounding ready should only notify once all are complete, not any are complete https://github.com/openpeer/op/issues/46
  - added missing file to hfservices library for max
  - ICE session needs to perform connectivity check after returning from background https://github.com/openpeer/op-services-cpp/issues/13
  - Need debug setting to force data over TURN socket https://github.com/openpeer/op-services-cpp/issues/14
  - TURN socket needs to recheck TCP socket after returning from background https://github.com/openpeer/op-services-cpp/issues/11
  - TCPMessaging subscribes to backgrounding to test socket read when it returns from background - removed old method for checking TCP messaging backgrounding checking socket https://github.com/openpeer/op-services-cpp/issues/10
  - code complete on Backgrounding class https://github.com/openpeer/opios/issues/200
  - progres on background fix to better handle TCP connections going to the background https://github.com/openpeer/opios/issues/200
  - added more logging to hopefully capture more information about messages not getting delivered bug https://github.com/openpeer/opios/issues/156
  - audio session interruption callback
  ...
- boost framework has an error in paths
https://github.com/openpeer/boost/issues/4
- added json pretty printing as got tired of having to copy n' paste each message to an online pretty printer just to be able to read it
https://github.com/openpeer/op-services-cpp/issues/27
- Socket polling implementation
https://github.com/openpeer/op/issues/62

- Socket logging to debug / test socket monitor
https://github.com/openpeer/op/issues/63

- fix: Socket notification that throw exception due to queue being gone cause deadlock
https://github.com/openpeer/op/issues/61

- fix: Services global local goes out of scope on main thread will cause other thread to crash
https://github.com/openpeer/op-services-cpp/issues/28

- Clean-up thread shutdown / each module to self manage threads
https://github.com/openpeer/op/issues/41

- global singletons need to create themselves with safe singleton lazy shared pointer
https://github.com/openpeer/op/issues/59

- ISocket / Socket merger
https://github.com/openpeer/op/issues/64

- Fix services unit tests to compile
https://github.com/openpeer/op-services-cpp/issues/30
- fix: graceful shutdown of thread queue manager
https://github.com/openpeer/op-services-cpp/issues/32

- fix: Thread priorities don't always take effect
https://github.com/openpeer/op/issues/67

- fix: Singleton::ref() need to change to static object with .singleton()
https://github.com/openpeer/op/issues/66
-complete: All existing background subscriptions need to pass in "phase"
https://github.com/openpeer/op-stack-cpp/issues/56

- started: Introduce chained backgrounding subscriptions
https://github.com/openpeer/op-services-cpp/issues/29

- added: Each backgrounding subscriber should use a setting for attached phase
https://github.com/openpeer/op/issues/70

- added: Proxy subscription mechanism needs to be extended to support sending subscription object in delegate callback
https://github.com/openpeer/op/issues/71
- complete: Proxy subscriptions need generic template system to auto-detect subscription param (if possible)
https://github.com/openpeer/op/issues/72
- Introduce chained backgrounding subscriptions
https://github.com/openpeer/op-services-cpp/issues/29
- Each backgrounding phase needs an optional timeout setting
https://github.com/openpeer/op-services-cpp/issues/33
- Fix Shared lock should use shared pointer between objects not bogus lock
https://github.com/openpeer/op-stack-cpp/issues/59
- merged 20140307-dev-stable into feature-20140314-push-before-backgrounding
- merge compile error fix
- Xcode has changed warnings and thus "treat errors as warnings" will cause compile errors. Since this is a 3rd party library we will let them fix the warnings on master and then pull them in later
- Xcode has changed warnings and thus "treat errors as warnings" will cause compile errors. Since this is a 3rd party library we will let them fix the warnings on master and then pull them in later
- fix: finished testing and fixing phased backgrounding
https://github.com/openpeer/op/issues/73
- wrap all of services::backgrounding in core layer
https://github.com/openpeer/op-core-cpp/issues/12
- fix: LockedValue doesn't need to use full recusrive lock since it's a getter/setter pattern only
https://github.com/openpeer/op-core-cpp/issues/14

- fix: typo for work "object"
- Allow selection of subsystem in logging to debugging life easier when dealing with media
https://github.com/openpeer/op/issues/78
Merge branch '20140307-dev-stable' into feature-20140314-push-before-backgrounding

* 20140307-dev-stable:
  - Allow selection of subsystem in logging to debugging life easier when dealing with media https://github.com/openpeer/op/issues/78
  - fix: LockedValue doesn't need to use full recusrive lock since it's a getter/setter pattern only https://github.com/openpeer/op-core-cpp/issues/14
  - Xcode has changed warnings and thus "treat errors as warnings" will cause compile errors. Since this is a 3rd party library we will let them fix the warnings on master and then pull them in later

Conflicts:
	libs/op-services-cpp
	libs/zsLib
- notification that application will quit and blocking until thread shutdown is processed
https://github.com/openpeer/op-services-cpp/issues/34
- fixed potential deadlock if cancel is called before http request is complete