Run benchmarks with hash randomization off.
Added support for executing Nuitka with "-S" python flag (no_site).

* Was possible before, but not via command line arguments.

* More flags might be added later, making the interface generic.
Run benchmarks without site module import.

* The "site" module was previously loaded pre-main, but that is going away
  and then the numbers become uncomparable.
Cleanups
Python3.3: Fix, the "__qualname__" of nested classes contained "<locals>" which is wrong.
Fix, make sure the import to "site" is in the main program frame guard.
Cleanup, patching inspect module has become unnecessary on Python2.
Cleanup, remove unstream init, detect errors loading pickle module more properly.
Python3.4: Handle "__class__" no longer being a closure variable to class functions.

* Now "__class__" is fed from a temporary variable and only available to
  "super" calls.

* This requires closure taking for temporary variables of created functions
  to also work properly, which is generally useful.
Tests: Added Python3 reference count test writing closure variables.
Generated Code: Use digest for integer or longs only it it shortens.
Optimization: Improved creation of set objects

* Create set values without tuple temporary variable, which is only
  going to waste time.

* Create set constants without un-streaming with pickle module.
Tests: Added empty program as test case.
Tests: Cover class nested in class.
Optimization: Avoid "UNSTREAM_CONSTANT" for Python2 constant unicode values.
Optimization: Create all "int" and "long" values that fit into the C types directly.

* This avoids "UNSTREAM_CONSTANT" usages for constants outside of 2**32 on
  platforms where "long" is larger.

* There is strangely one Python "int" value, which won't be accepted by
  the gcc without warning, so it's omitted.
Optimization: Avoid useless "free_value" indicator for local variables.

* Was mostly only used to indicate "NULL" object, which Py_XDECREF can
  already handle just fine, no need for extra branches.

* The other case was locals dictionary codes, where it doesn't even
  help.
Windows: Added ability to properly re-execute Nuitka with corrected options

* The "os.execl" looses exit code and immediately exits

* This creates a new process, which takes some time, but will be worth
  while to achieve consistent behavior.
Windows: Preserve the exit code when running binary with "--execute".

* This also corrects the re-execute itself code, which was previously was
  not properly supported on Windows at all, but is gaining importantance
  now (site, hash seed disable, etc.)

* Fixes long standing Issue#26 for good.
Disable hash randomization while running Nuitka, so generated code is stable.

* Otherwise caching the result will not work at all, because constant
  dictionaries and other stuff will change each time.

* The "PYTHONHASHSEED" value propagates to "--execute" execution, but the
  created binary will still use random hashes normally.