Fix compilation of none types by clang

Currently, none type only overloads operator +/*- for operands of the
same type, thus adding an `int' and a `none<long>' leads to overloading
ambiguity.
Fix a few memory leaks

Leaks during GMP <> long conversion, a reference decrement was missing.
Fix bug when meeting a function that always raises

A function that always raises an exception does not have a return None
inserted and thus had no return_type.
Rely on USE_BOOST_SIMD instead of __AVX__ to activate boost.simd

As a consequence, it is now fully legal to use -march=native as a
compiler flag.
Update default compiler options

-fno-math-errno gives some speedups and errno is not used in pythran
-march=native does not yield wonderful speedups, but may enable extra
vectorization
Harmonize True, False and None handling

They should be part of __builtin__ instead of receiving a special
treatment.

None is also const, which implies a few minor changes.
Make all constructors regular member of __builtin__

This avoids extra processing and harmonize the whole function handling.
Fix bug when raising uncaught exception & Add exception test cases

* Most C++ exceptions appear in Python as a RuntimeError.
  This bug is fixed by registering additional exception translators.
* However, there are 2 Exceptions can not be registered on Linux:
  WindowsError, VMSError
* Changed run_test for comparing the exception type raised in python
  and the type raised in pythran.