Fix clang compilation issues

Some of them still remain, but I cannot find a proper way to fix them,
and g++ seems happy.
Fix bug when hashing array

Fixes issue #103.
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...
PEP8 (setup.py and pythran)
interface.py=>toolchain.py: clarify public interface
Exclude current directory from import by changing directory

The issue is that with multi-processing, new process are spawn and
`import pythran` resolve in the current directory. The solution
is then to change the current directory so that the new processes
won't find pythran here but will use the PYTHONPATH
Fixup pep8 unittest. Use glob(*.py) on Pythran install dir

Exclude parsetab.py because it is autogenerated
Skip rosetta/yin_and_yang.py, the C++ does not compile yet
Pythonic cleaning, uses a static size() in nested_container_size

Less parenthesis leads to more readable code. Still unsure about
two points:

- should it be a constexpr?
- why a class and not a function?
Bug report on ndarray assignment