Substantial rewrite of the Porter Stemmer.
This was to:
1) Make it threadsafe
2) Make it more Pythonic and remove at least some of the weird C-like code from
   when it was originally ported from C
3) Remove nonsense comments referring to things like null terminated strings and
   char arrays that are meaningless in a Python context (again the result of it
   originally being ported from C)
4) Make it faster.

A test on the complete text of the King James Bible indicates that post-changes
the stemmer has entirely consistent results with the previous version and is
roughly 40% faster. It is also now threadsafe since nothing is stored in
any instance variables any more; instead things that used to be instance
variables are now passed between functions as arguments.
Merge branch 'master' of https://github.com/nltk/nltk
corrected docstring for __setitem__() function in probability.py
corrected docstring for __setitem__() function in probability.py
corrected docstring for __setitem__() function in probability.py
Merge remote-tracking branch 'upstream/master'
Adding the KneserNeyProbDistI class
Merge branch 'master' of https://github.com/nltk/nltk
Added some preliminary comments
Minor fixes to probability.py: whitespace, spellcheck
Merge branch 'master' of https://github.com/nltk/nltk
Incorporating kmike's suggestions: axed nested tuple support, switched from directly referencing the discount attribute to calling the discount() method, changed 'trigrams' to 'freqdist' in __init__
Ooops, missed one more instance of self._D that needed to be replaced with discount()
Yet more minor fixes to probability.py as well as probability.doctest
finalized changes for kneser-ney in doctest
In doctest fixed multline statements, added output displays
changed max() to be more compatible with python 3.0
made change to allow python 2.6-compatibility
frozenset instead of set for vowels
almost fixed it; want to make the decisiontrees demo work right with the binary attribute set to true