Issue38 - break proprietary ping into proper component

* removed gcm cruft from app
* added "default" for LoadExtensibleSection to allow for less app preconfig

@bbangert I think I grok what you've done. r?
The inversion I did for logging isn't needed here. In the case of the logging interface inversion I did, that was so that I could add a set of methods to the base concrete implementation that utilized the interface to add additional methods. In this case, there's no need for PropPing because you're not using it to extend the base functionality with new methods on PropPing that purely call interface ones.

It should be fine to rename IPropPing to PropPing, specify the inteface everywhere used, add the Register method to the interface, and use that directly.