cfg,generator: add Opt.sample_default attribute

Some default values for configuration options are dynamic and
environment dependent. For example, an option might default to the
hostname of the machine.

However, such default values should never end up in a sample
configuration file - you don't want your hostname or path to your
personal home directory to be included in sample config files.

A simple solution to this is to add a 'sample_default' string
attribute which is used in place of a default, for those cases where
the real value is an unsuitable sample default. For example:

  cfg.StrOpt('hostname',
             default=get_my_host(),
             sample_default='myhostname')

blueprint: oslo-config-generator
Change-Id: I319d128a0a88b1197d8e2be105681f2b56240439
Merge "cfg,generator: add Opt.sample_default attribute"