Update Pythran interface

* ToolChain is fully stateless, then it has only static methods.
* ToolChain offers multiple entry points: compile a pythran code as
  a string, compile a cpp file, etc.
* Update the unittest according to the new interface
* Introduce a TestFromDir(TestEnv) class for the different test
  suites that are based on individual directory. More consistent
  behavior through code refactoring.
* Raise ToolChain.Compile error instead of CalledProcessError
* Exclude current directory from import when launching unit tests
  using setup.py
Portability: do not use distutils and link against libpython
Fix infinite recursion in mod(double, long)
Handle .cpp files on the command line
Clean Pythran Interface: code refactoring
Add a -v (verbose) option