[WIP] many changes

Hey Terry,

I don't know if it is appropriate, but here is a PR with a lot of changes (some of them we've discussed in chat, some of them not). The plan is to move most things to Cython, provide just a wrapper (without a scikit-learn dependency) and have it all tested. I'm following your idea to wrap crfsuite C++ API and am using your code as a reference, but the changes are quite substantial.