Fix handling of maybe closure variables.

* Improves the SSA tracing of affected variable too. We are not using
  the global variable traces yet, but for maybe local variables so far
  they were not getting a usage trace from the maybe local variable
  access.

* Also cleans up code generation, which was hard wired to globals and
  repeating itself there. Not the maybe path is generated via proper
  call to code generation too, without repeating the access to the
  global.

* It's a bit unfortunate that we don't know what "needs_check" for the
  maybe case will be. But it doesn't seem important now.

* This corrects Issue#150.
README.rst: Small typo fix.
Changelog updates
More user and developer manual updates.
Minor cleanups
Fix, may not optimize away checking truth value of conditions of empty branches.

* Found while updating the User Manual, describing the unallowed
  optimization.

* Added test to cover this.
Minor cleanups
Fix, cannot assume that this will always be a source code collector.

* We also provide simple "append" to this in some cases.

* The issue was introduced with C-ish, but only shows with optimization
  added later.
Fix, do not use "replaceWith" on nodes, that are potentially no longer in the tree.

* This might have caused corruption of the node tree, but that had not
  been observed so far.

* It's also more explicit about what it's supposed to change, which child
  to update.
Allow for statement frames as children of loops or try constructs.

* Currently that is not happening, but we will have this in the future
  for local variable cleanups in a try/finally that cannot (itself)
  raise.

* This also cleans up the messy interface, and makes the code doing the
  frame special case a dedicated function.
Fix, taking closure variables in a child class method could go wrong.

* It could take class level variables of upper level class, instead of the
  global variable of the same name.
Cleanups

* Detect unused warning suppressions of PyLint, quite a few have long
  become unnecessary and can now be removed.

* Lots of PyLint work, adding exceptions, avoiding the warning causes.

* Split up code on standalone for different OS variants into dedicated
  functions for enhanced readability.

* Added some module comments.
Cleanups

* Remove variable usage profiles for temporary and local variables,
  saving lots of wasted memory, these are not used anymore at all.

* Move assignment statement computation to the assignment node where
  it should be.
Cleanups

* Becoming PyLint clean finally. This will enable us to have commit hooks
  that verify it.

* Simplified change signal handling, can be made more global.

* Added back print optimization of side effects being printed.
Tests: Added problematic traceback case, disabled until fixed.
Cleanups

* Clean with PyLint1.3, no real new findings.

* Make the checker script suitable for use in Buildbot with
  proper error exit, and verbose output option.

* Minor cleanups.
Give a warning when a built-in module is not white listed.

* This solves a TODO, and activates the check for normal mode. It should
  not fire with currently supported releases, but when it does, we want
  to know.
Cleanup, determine Python version only once

* This resolves a code duplication.

* PythonVersions should not depend on Options, it's task is to describe
  the behaviour of the given version, not the desired one.

* Solves a TODO.
Cleanup, introduce "computeModule".

* This moves the actual computation of a module to the module node itself,
  as it is with functions, branches, etc. already.

* Also the staging time of code is coming to an end, remove that kind of
  disclaimer.
Cleanup, use "linecache" module to read source code for tracebacks.

* May be more correct, or more portable, and least it's more obvious. We
  do not need the caching feature, but it doesn't harm us.

* This solves a TODO.