Cleanup / Unicode support

First - thanks so much for posting this code!  Its very interesting and has been fun to play with.

In starting to use it with my own data, I had two issues that I'm hoping this pull request might aid you and others with.  First, it was a little hard to understand what was going on in the sentiment function. In working through it, I separated some stuff out for myself (constants and functions within the function), so I thought it might be useful for others as well.  Second, the code couldn't, as far as I could tell, support unicode text, so I made a few mods (basically, I just removed the str() calls and added one conversion at the top of the sentiment function) so that it can now handle unicode.

I diff'd the output from this version with the output on the Readme to make sure that all the values were the same, and I'm pretty confident I didn't make any changes that would alter the algorithm. Hopefully they'll be helpful!