Fixes Bug 1071538 - one app to rule them all 

In anticipation of having apps optimized for different end users, introduce the concept of application defaults.  This replaces the awkward configman syntax of having to change defaults with 'force=true'.  The best way to implement this is to refactor the socorro.app.generic_app hierachy to allow apps to have a 'get_application_defaults' method.  That method injects the new application default values into the configman value_source_list between the lowest level defaults and the configuration file. 

This makes it easy to also introduce the optional universal launcher for socorro apps.  
../scripts/socorro_app becomes an alternate way to launch any of the socorro applications.  Launching apps can look like this:

   ./scripts/socorro_app ProcessorApp --help
   ./scripts/socorro_app CollectorApp --port=8888

this should have no adverse effects on the existing method of launching apps directly. 

NOTE: this PR does not include CronTabber in the universal app launcher scheme.   That will require extra engineering effort to resolve some inconsistencies in CronTabber

this is just a reproduction of existing code from generic_app.py.  I hesitated to make changes to it.