- use require instead of use to include other modules in the
  Singleton classes. when using the "use" syntax for modules
  the perl compiler interrupts the compilation of the current
  module and starts compiling the module declared in the use
  statement. If the included module then includes the singleton
  perl issues 'Subroutine foo redefined' messages. As the
  compilation of of the original module was interrupted it is
  not finished and thus not recorded in the lookup table.
  Delaying the loading to runtime with the require function
  avoids the warning.
- follow up fix for the use vs. require change in the Singleton
  objects KIWILog and KIWIGlobals. If one of the modules included
  by require contains a use statement of the Singleton object we
  again got warnings about redefined functions
- clean up the kiwi debug mode which collects trace information
  about the perl caller stack. There is now a singleton module
  called KIWITrace which stores the backtrace. Thus this also
  removes the last main:: global variables from the kiwi space