Merge remote-tracking branch 'origin/add_shop_code_to_iframe_urls'

* origin/add_shop_code_to_iframe_urls:
  Pass shop_code to Session Creation/Retrieval steps
Add empty data field on auto-generated beacons

The server expects every beacon to contain a 'data' field.
Merge remote-tracking branch 'origin/add_data_on_auto_pageviews'

* origin/add_data_on_auto_pageviews:
  Add empty data field on auto-generated beacons
Pass yogurt_user_id through the 'setYogurtUser' command
Read 'yogurt_user_id' on the ActionsManager
Use 'yogurt_user_id' on Session's create phase
Merge remote-tracking branch 'origin/pass_userid_on_create'

* origin/pass_userid_on_create:
  Use 'yogurt_user_id' on Session's create phase
  Read 'yogurt_user_id' on the ActionsManager
  Pass yogurt_user_id through the 'setYogurtUser' command
Change default data value for auto-generated PageViews to string
Fix typo in sendPageView action name
Factor out session extraction code to session_engines
Add timeout for XDomain session extraction
Refactor Session