Refactor PungiConfig
Raw pungi config and non raw pungi config are deteremined twice, and in
the second time, raw pungi config is determined by check if passed in
value has dict type. While I'm reading through the code and try to
understand the logic, I found I'm confused easily by that.
Instead, RawPungiConfig class is introduced to represent the raw config,
and both RawPungiConfig and original PungiConfig implement method from
BasePungiConfig to write options to config file, which could be simplify
code a bit.
Signed-off-by: Chenxiong Qi <cqi@redhat.com>