Check config default value is correct type

Given a type of Opt, check that the default value supplied to the Opt is
of the same type as the Opt.

E.g. cfg.StrOpt('user_attribute_ignore', default=99) will log a warning
as the default is not of type string.

Closes-Bug: 1261792
Change-Id: I12cd5f4be82ac5ed0ebb348b358dd8eaf04e4e0d
delay formatting debug log message

Pass arguments to the logger and let it assemble the formatted message
if it will be emitted.

Change-Id: I2cf66dcc98bb2324f34442e51e47691ec445d280
Merge "Check config default value is correct type"
Merge "delay formatting debug log message"
Updated from global requirements

Change-Id: Idfd98de5571e544f2378087e49afa978a577c3f4