9c6c4da Rewrite import_mmd

Authored and Committed by cqi 4 years ago
    Rewrite import_mmd
    
    * xmd/mbs is always set if it is not present in xmd, so move the code on
      the top of function. This change is also helpful for accessing keys
      under xmd/mbs.
    * By setting xmd/mbs in the beginning, code is simplified to get
      disttag_marking and virtual_streams. The result is much straightforwar
      for getting a default value for them.
    * Move disttag_marking validation code next to the line getting
      disttag_marking from xmd/mbs. As a result, the code structure is
      easier to read as getting disttag_marking and validate it, getting
      virtual_streams and validate.
    * Rewrite the part of code for check_buildrequires. Always set
      xmd/mbs/buildrequires if it is not present and check_buildrequires is
      set to True, as it is required by
      ModuleBuild.get_buildrequired_base_modules.
    * Using in operator instead of dict.get to check if key koji_tag exists.
      Using dict.get would be ambiguous because even if koji_tag exists
      under xmd/mbs, but due to its value is set to None occasionally, there
      is still a message logged to tell koji_tag is not set.
    * Rwrite all lines of code for updating virtual streams. A new method
      update_virtual_streams is added to ModuleBuild. This also fixes
      FACTORY-4561.
    * Tests are added for the rewrite of virtual streams update.
    
    Signed-off-by: Chenxiong Qi <cqi@redhat.com>