Python 3 support


Python 2.7:  1/90 test fail (one is Theano which I have not installed)
Python 3.2: 70/90 test fail  (one is Theano which I have not installed)

Currently, most of the failures are due to a change in the ast. In Py2
the argument list yields an iterable of ast.Name objects but in Py3 is
an iterable of ast.arg objects. I am sure somebody must have solve
this problem already in another project. Any ideas?

A few comments:
1.- I have not included six yet, just defined a constant PY3 in the numba root.
2.- It turns out that all needed func_attrs  are already defined with
the Py3 naming in Python 2.6 and 2.7. I have changed those
3.- The same is true for other functions like reduce
4.- I am still using 2to3, but I have specified in a positive which
ones we are using. We can tackle them one at a time.
5.- changing the print statement to the print function might be messy.
Many test are actually doctests and rely on the formatting. Moreover,
Numba seems to choke when trying to print certaint things and `from
__future__ import print_function` has been used

I am not sure if you want to merge right now, or wait until Python 3 support is complete. But given that all Python 2.7 test pass, you might want to merge to avoid branches to diverge too much.