Harmonize the __builtin__ module with other modules

ExpandBuiltins makes sure all builtins are referenced as members of the
__builin__ module.

This removes a lot of ugly hooks to handle intrinsics in a different way
than other modules.
Add a failfast mode to setup.py test

For easier debugging of failing test cases. Requested by Pierrick!
Code cleaning, commenting and refactoring

* More comments
* Less spaghetti code
* Cleaner implementation of intrinsic.py
Merge pull request #52 from pbrunet/master

Clean up for cxxgen.py
Rework pass manager interface

* Un-spaghettify class hierarchy
* rework API as a combination of `prepare' and run

`prepare' gathers analysis dependencies
`run' performs the transformation

to add more preparation, overload prepare
to add post-processing, overload run
Sanitize cxx type handling

* Remove obsolete/unused code
* Use a generic type builder for all types
* Cleaner class hierarchy
* Add doctest / docstring accordingly
[numpy] array c -> python
[numpy] Array building from list work
[numpy] add function zeros and ones
[numpy] add numpy to spec parser
[numpy] python -> c++ for numpy array
[numpy] add array access for dim = 1
[numpy] access to numpy array for N dimensions
[numpy] allow dynamic access to numpy array
[numpy]allow mutliple acces to array
[numpy] apply serge modification
-fix memory leak
-enable to use elements and attribute for a same object (array)
[numpy] fix acces to numpy array
[numpy] data offset is a shared_ptr
[numpy] shape is a shared_ref
[numpy] add ndim attribute to numpy array