Python3: Fix, compiling Python3 modules failed to export the entry point.
Python3: Module and test fixups

* The "__builtins__" of standalone modules also must be a dictionary and
  not the module.

* When modules error exit, must return NULL, not the module object, or
  else Python3 will declare a SystemError instead.

* Program tests that are allowed to fail, because that is what they test
  were not properly ported to Python3 compatibility.

* The symbol Py_Ticker was only defined inside an #ifdef that is not
  proper at all.
Python3: Need to guard against recursive imports for modules too.
Fix, need to copy "nuitka" binary before compilation too, or else it retains "__file__" poiting to uncompiled modules.
Optimization: Make base classes constant tuples if possible as well.

* This happens mostly only, if no base classes are given.

* Reduces noise in optimization for that case.
Optimization: Shared variable decision was aimed at technical need only

* Made treatment of references by generators and functions that
  need creation that seemed to not define their variables as shared,
  so that a more efficient

* Created or not, shouldn't matter for function variables to
  be shared on the logical level. Now it's used in optimization for
  SSA tree optimizations.
Optimization: Merge only branches that are not abortive.
Moved importing of "site" module to main module code.

* This makes it visible for recursion code

* Should make "portable" mode easier as it doesn't have to worry
  about site anymore.
Cleanups
Remove cruft from setup.

* Overtaken from Mercurial, but we don't consider py2exe useful for
  Nuitka.

* Copyright year was still wrong, that confused me.
Updated developer manual with a focus on how things work now.
More SSA progress.

* Setup all variables to an initial trace when entering functions
  or modules.

* Initial optimizations that eliminates unused local variable
  assignments with no effects into merely releasing existing
  values.

* Merges of SSA branches are performed.
Optimization: Eliminate tolerant "del" statements on values known to be not initialized.

* This mostly affects the unused assignment without effect removal
  optimization previously added.

* For Python3, there is already a tolerant "del" of the exception
  handler variable, therefore it is now also remove, should there
  be a user provided "del" on it.
Fix, "wine" seems to insist on being executed as that in newer version.
User Manual: Added description how to cross compile for Windows.
Enable threading support by default.
Python3: Prefer "None" over empty dictionary for kwdefaults.
Fix, function used as a method may not be directly callable.
Debian: Compliant to new standards.
Fix, the "site" module may check sys.flags.no_site, so reset it.