pkg/transport: reload TLS certificates for every client requests
pkg/transport: reload TLS certificates for every client requests

This changes the baseConfig used when creating tls Configs to utilize
the GetCertificate and GetClientCertificate functions to always reload
the certificates from disk whenever they are needed.

Always reloading the certificates allows changing the certificates via
an external process without interrupting etcd.

Fixes #7576

Cherry-picked by Gyu-Ho Lee <gyuhox@gmail.com>
Original commit can be found at https://github.com/coreos/etcd/pull/7784

mqliang/etcd,joshix/etcd,ajityagaty/etcd,visheshnp/etcd,glevand/coreos--etcd,etcd-io/etcd,plasticbox/etcd,cockroachdb/etcd,bdarnell/etcd,gyuho/etcd,akauppi/etcd,mkumatag/etcd,yudai/etcd,heyitsanthony/etcd,vimalk78/etcd,fanminshi/etcd,mkumatag/etcd,visheshnp/etcd,bdarnell/etcd,mickep76/etcd,rnaveiras/etcd,sebrandon1/etcd,etcd-io/etcd,bluebreezecf/etcd,vimalk78/etcd,mqliang/etcd,gyuho/etcd,dannysauer/etcd,ajityagaty/etcd,rnaveiras/etcd,a-robinson/etcd,etcd-io/etcd,rnaveiras/etcd,armstrongli/etcd,joshix/etcd,heyitsanthony/etcd,coreos/etcd,YuleiXiao/etcd,plasticbox/etcd,ajityagaty/etcd,mickep76/etcd,whuwxl/etcd,cockroachdb/etcd,yudai/etcd,li-ang/etcd,xiang90/etcd,armstrongli/etcd,akauppi/etcd,bluebreezecf/etcd,dannysauer/etcd,lorneli/etcd,YuleiXiao/etcd,whuwxl/etcd,glevand/coreos--etcd,a-robinson/etcd,xiang90/etcd,mqliang/etcd,fanminshi/etcd,sinsharat/etcd,coreos/etcd,sinsharat/etcd,sebrandon1/etcd,li-ang/etcd,mkumatag/etcd,lorneli/etcd