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 the problem with diffs! You think it's new code but you actually just copy-n-pasted it from somewhere else. But I didn't pick that up because I wasn't there when the patch was written. 

Maybe we should totally reconsider how we do code review. I heard about how a javascript team did it at Yahoo. They would have a little meeting where the patch author would go through his line changes line by line on a projector in the meeting room and the reviewers' (the audience) job was to basically question things all the time. 

It does mean that the author can't do something else in parallel whilst the reviewer digests it but perhaps the total time for both heads would be less.