Move implementation from header files to .cpp files for new observer, messagehandler and message types introduced by recent concurrency refactoring work.
Reinstate Back-button override behaviour for example app.
Missing assertion in AppRunner
Review action to explicitly name the message buses
Remove double delete of m_pPoiRingTouchController in PoiRingModule, which was causing a crash in teardown of application.
Prevent app from being restarted in response to 'screenSize' event. The entry for orientation at http://developer.android.com/guide/topics/manifest/activity-element.html suggests that for applications targetting API levels greater than or equal to 13, orientation and screenSize android:configChanges options should be specifed together. Prior to this, holding the device in a portrait position while repeatedly restarting the app could cause a lifecycle teardown event.
Fix for bug in which search result hover card would not be interactive if it first became visible during a period of modality -- this could be reproduced by performing a search, then performing a long camera pan, then quickly opening a menu. The result at the resting point of the camera would be created, then made invisible and non-interactive due to being in a modal context. The location and visibility were correctly set when the modal dialog or menu is exited, but the interactivity was not re-enabled. Fix is to enable the control when updating the location.
Fix for defect where on iOS versions greater than 6, viewing an unnamed pin would cause a crash. This was a result of serializing empty strings with RapidJson. On iOS 6 and below, empty strings come in from the UI as 'nil' whereas on iOS 7 and above, they come in as non-null strings of length zero. We need to detect the nil-or-empty case and handle both by using the placeholder. Fix tested on iOS 7 iPad2 simulator and iOS 6 iPad2 device.
Fix for defect in which keyboard cannot be dismissed for MyPin creation on iPhone devices. Apple iOS UX guidelines state that 'dismiss on return' semantics are acceptable for a single line UITextField, so this is done for title using the 'Done' return key style and a UITextField delegate. The UX guidelines do not allow this for a multi-line UITextView, so for the multi-line description a toolbar is added to the top of the keyboard for iPhone only with a bespoke 'Done' button, using App::IsDevicePhone() to determine if the device is a phone.
Merge branch 'master' into poi_creation

Conflicts:
	ios/ExampleApp.xcodeproj/project.pbxproj
	src/SearchResultOnMap/SearchResultGainedFocusMessage.h
	src/SearchResultOnMap/SearchResultInFocusChangedLocationMessage.h
	src/SearchResultOnMap/SearchResultOnMapInFocusObserver.h
	src/SearchResultOnMap/SearchResultOnMapModalityObserver.h
Merge branch 'poi_creation' of github.com:eegeo/mobile-example-app into poi_creation