Py3k

All tests pass, but this is still work-in-progress, because all tutorials/docs need to be updated too (NOTE: look into ipy notebooks, #180 ).

Changes aim to be backward compatible, but the new official gensim API will recommend **using unicode wherever strings are expected** (now: asks for utf8). Starting with Python 3.3, there's no longer a huge memory overhead to unicode strings (Python 2 will take a hit though).

Highlights:
* All I/O is binary, converted to unicode explicitly inside gensim (=not using the py3k `encoding` params to `open`&co). Uses `utils.smart_open()` consistently.
* All internally stored tokens/keys are expected to be unicode now. Find bytestring/ambiguity => file a bug.
* Need more backward compatibility tests = make sure utf8 inputs continue to work. Don't want the same migration drama py3 itself is having!
* I think this warrants a full version bump => `0.10.0`

Ping @larsmans @simonzack @moustaki can you please run `setup.py test` unit tests on your machines? I'll ping Steph for a Windows run too.