Fix -L flag support
Fix unittest according to recent py.test version

py.test try to get __name__ attribute for the test function. When
using a functor it does not exist.
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