Pass kwargs to auth plugins

Auth plugins must sometimes affect the Headers and other portions
of the network setup.  Examples:  Kerberos needs to set the
negotiate header.  X509 to provide the client certificate.

This change makes that capability available to the Auth plugins.

Those plugins will live in separate repositories. There are no
dependent patches for it in this repository.

This was split out by Adam Young from the Kerberos Client patch
written by Jose Castro Leon

Change-Id: Iab7287888e4b3f199b9035c1a24ac43639b5027b
Merge "Pass kwargs to auth plugins"