Scope Analysis

This commits adds scoping support to Pythran: a variable can now be
declared locally instead of being declared at the function level. This
is especially useful in presence of OpenMP directives, as it makes them
less verbose.

It's a slightly complex pass, so I documented it in a new
doc/INTERNAL.rst document, validated by the doctest, of course!

Several OpenMP test cases have been updated to reflect this pass's
changes