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

it seems to have a lot to do with the unittests and the fact that we're mixing both crontabber and socorro postgres classes.   It appears that the Crontabber runs fine through the SocorroWelcomeApp, but the unittests fail catastrophically if the CronTabber derives from the socorro version of the App class.   I do not yet understand this problem (I was up this morning until 3am banging my head on the problem)...