Detect temporary variables that can be declared at first use.

* Attach collection to modules and function.

* Added missing usage reference to temp variable traces.

* Determine common parent of variable uses and mark those that start
  with assignments as ones that can be declared with different type
  and on the spot.
Give more precise syntax error location for "del" on closure variables.

This solves a TODO and is only in effect if not in full compat mode.
Scons improvements to support custom Python builds

* Forward "--python-debug" to scons not as part of the version, but as
  an actual flag, so it can be queried.

* Make it define "Py_DEBUG" which is what actually controls the python
  debug build for includes.

* Do not use the python_debug in directories unless it is Debian or
  Ubuntu, where it's needed for link libraries.

* Provide the library path on all platforms, not just the BSDs, for
  custom builds they won't be known otherwise.

* For custom builds, add more libraries, somehow these seem to not
  get added. Could be taken from "python-config", but this will do
  for now.

* Also use "-export-dynamic", so a statically linked "libpython.a"
  will be available to loaded shared modules. No idea why system
  Python installations do not need it.
Fix, list contractions do not really take closure variables.

* Corrects Issue#111 in an ugly way. The real solution will be function
  outlines for list contractions on Python2.
Better error handling during "inspect" patching.

* The "site" module need not exist.

* Proper error exit, if "inspect" cannot be loaded. Does only occur in cases
  of other bugs, but then it's ugly to simply segfault.
Set the program name, so as to not use "python" in "PATH" to determine "sys.path"

* This is necessary to support custom builds properly, otherwise they use parts
  from the system Python installation easily.
Added test for Issue#111, "del" on contraction variable was not working.
Developer Manual: Added description for list contractions, idea for outline functions.
Python3: Avoid resource warning about unclosed file in reference count tests
New pre-release.
Windows: Silence batch mode, it is doing output which breaks tests.
Windows: Fix MSVC batch mode problem with paths that contain spaces.
Cleanup, moved "needs free" indication for temporary variables to finalization.

* The temp keeper variables remain the old way.

* Cleaned up how assignments are attached to variable traces, so it's
  easier to use.
Include details of statement sequence in frame as well.
Compatibility Improvement: Make sure compiled types also compare well to built-in types.
Cleanup, follow coding style for builtin module type.
Minor Cleanups
Optimization: Implement rich comparison ourselves.

* Implemented rich comparison machinery as helper code that avoids calling
  the CPython core.

* For function objects, do not implement "tp_compare" that's not giving any
  speedup at all.

* For Python2, this avoids checks and object creation in CPython from the
  "tp_compare" int return result. Performance boost of 2% for the micro
  benchmark added.

* For normal code there won't be any effect as function objects are not
  normally copied.

* For Python3, the later is unused and as such not helping.

* Added micro benchmark for integers to demonstrate the quicker handling
  of integers which are otherwise slow due to coerce being taken, and it
  is what CPython also prefers.

* Added micro benchmark demonstrating that function objects benefit from
  the new code and that generator objects would not.

* Also added microbenchmark that shows that tp_hash based on a pre-made
  long is faster than basing on pointers. Using the pointer would lead to
  potentially a lot of hash collisions and the work necessary to avoid it
  would involve messing with the last digits, which the counter gives us
  for free.

* This brings down pystone by overall 2%, where 0.7% come from the faster
  rich comparisons in general, and 1.3% from integer comparison speedups.
Added -Winline to scons file, but commented out.

* This can be used to make sure inlining is actually performed as
  expected.

* Cannot be enabled by default, because of too many false alarms.
Added "factory" branch to benchmarked versions.