Issue/stable/pup 2650 disable warnings

I rebased to stable, since this is targeted for 3.6.2, and have added a commit to handle deprecation warnings for settings in two phases, so that we have an initialized settings system from which to read disabled_warnings before we attempt to send.  This should take care of any issues regarding the order of disabled_warnings versus other settings (on commandline, or being able to set it in puppet.conf).

This supersedes #2729