Python3 support

This is an initial migration of the code to Python 3. Both Python 2 and Python 3 should be supported.

Please review. I suppose that more testing should be done :) it would be cool if you could test in on a real data. or point me to the data, and experiment and the results.

By now I:

 * removed syntactic errors (print is a function, there is no xrange)
 * fixed some pep8 issues (most importantly whitespaceces)
 * made the tests pass under py 3 and py 2.

To make it possible to run on python 3 you should get a custom version of sparsesvd https://github.com/dimazest/sparsesvd/tree/cffi (branch cffi) which uses cffi instead of cython to get the c code.