Do not separate simd/scalar implem from nt2 functions

Has advised by nt2 dev: this is needed for complex number handling.
Mysterious.

Closes issue #100.
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
Add a -v (verbose) option
Add support for "runas" in tests

The test file can contains a #runas directive. It may contains
multiple statements but the last one is the value to test:

 #runas a=1; b=3; myfun(a,b)
=> the return value of myfun is checked

 #runas a=myfun(); b=anotherfun(); a+b
=> the value of `a+b` is checked
Fix test/cases directory. Some are skipped because buggy...