Easier printing of the output of CxxBackend
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
Use comment in addition to strings to hold OpenMP annotations

Duplicate OpenMP tests with new directive style.
This new tests take into account automatic scoping.
Fix bad OpenMP directive processing for print

The directive was correctly parsed and attached to the node, but not
pretty-printed.
Pythran 0.4 "PyHPC"

Featuring
- better OpenMP support
- several performance bug fixes
- faster numpy array indexing
- optional parameter support
- faster tuple implementation when all elements have the same type
- a few more supported module, including ``functional.partial``
- exception not caught at the C++ level are now raised at the Python
  level
- better long support
- more testing, special thanks to g webb
- several bugfixes in the C++ backend
- better None support, especially for scalar types
- add CFG analysis for better ``return None`` insertion
- better documentation!
Merge pull request #179 from serge-sans-paille/scope

Scope
Remove trailing space after print
Simple solution for command line interface testing

* The priciple is to keep using doctest. We replace '$>' by '>>>' and then
  call subprocess.check_output to call the command line from Python
* All the command line use cases are put into cli.rst and validated using this
  approach
Merge pull request #167 from yuancheng2013/test_cli

Test command line interface and remove trailing space after print
Support top level statements

* A great feature is added into Pythran: scripts outside of functions can also
  be compiled.
* These top level statements are taken into __init__. Then the __init__ is
  loaded into the cxx boost.
Remove arch target from default flags

it messes up with -DUSE_BOOST_SIMD
Add test case for top-level statement support

* Since top-level statement can not be treated in a normal way, its' test cases
  are added into INTERNAL.rst
* test_doc.py is also adjusted so that the command lines in INTERNAL.rst can be
  executed
Add support for dtype in arange

And a few test cases!
Support array indexing through an array for any numpy expression
Fix several memory leaks

When initializing an ndarray from a pointer, do not automatically set
the memory as foreign. Do it only if asked too, i.e. if the memory comes
from Python.
Improve numpy array filtering

- only allocate an index buffer instead of a full ndarray
- works for assignment too
- now pass the periodic_dist test case
Fix implementation of zeroes_like and ones_like in SIMD context
Add partial support for numpy.copyto

This makes it possible to pass a new test case from stackoverflow.
Pythran performs slightly worst than parakeet on this test case :-$.
Merge pull request #157 from yuancheng2013/top_level_support

Support top level statements
Merge pull request #190 from serge-sans-paille/copyto

Copyto