change numbering in FAST_SENTENCE
work around missing `with GzipFile()/BZ2File():` support in py<=2.6
* added metaclass that adds the necessary context methods
* used this metaclass in smart_open() for GzipFile and BZ2File, to avoid AttributeError: GzipFile instance has no attribute '__exit__' in older pythons
* closes #123