WIP: Single codebase python 3 support

I am currently working on single codebase python 2 + 3 support. I used python modernize and six and reused the work of @smoitra87 in #689 (cherry-picked into this branch).

I plan to rebase this branch against master on a regular basis, so please let me know in advance if you plan to work on this too.

It's still not there yet but the amount of failing test is less than 20. I am not sure what the status of the examples is. Also I had to do some changes in joblib which will have to be upstreamed.

I used the temporary `sklearn.externals.six` package as a convenience. I am sure we will be able to stream it down to a few factorized utility functions once all test pass.